Activate std::allocator_traits for gcc 4.7 and Visual C++ 11.
Implement variadic construct in boost::unordered::detail::allocator_traits
when variadics, rvalue references and SFINAE expression are available.
Use variadic construct from allocator_traits, or when not available move
the logic for constructing value_type to a lower level, so the container
code is a bit simpler.