Don't slice SemaDiagnosticBuilder

I wasn't able to figure out how to emit this diagnostic from a SFINAE
context, so I don't have a test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210713 91177308-0d34-0410-b5e6-96231b3b80d8
Don't inherit dllimport to inline move assignment operators

Current MSVC versions don't have move assignment operators, so we
can't rely on them being available in the dll. If we have the
definition, we can just use that directly. This breaks pointer
equality, but should work fine otherwise.

When there is an MSVC version that supports move assignment,
we can key this off the -fmsc-ver option.

http://reviews.llvm.org/D4105

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210715 91177308-0d34-0410-b5e6-96231b3b80d8