Implement constexpr (n3302) and fix operator *= and /=

llvm-svn: 187529
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: a1cd191624ac80604078b901d90c07d0122d6798
14 files changed