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

Work around with a ton of boilerplate.