Move widening copy/move constructors from Variant to VariantBase
Fix VariantBase constructors for exception safety

The previous implementation of VariantBase constructors delegated to the
overload that initializes the index only. As a result, the destructor of
the contained value was wrongly called when the constructor of the value
threw an exception.
Merge pull request #73 from magicant/fix/variantsafety

 Fix VariantBase constructors for exception safety