Fix error under MSVC
Whitespace changes in variant.hpp
Implement some missing variant_t functions