The year is 2014. MSVC is still unable to synthesize move ctors.

Work around with a ton of boilerplate.

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