Use std::addressof in Variant constructor

Use of operator& is not safe because it may be overloaded.
Merge pull request #40 from magicant/fix/variant

Use std::addressof in Variant constructor