Removes _LIBCPP_HAS_TYPE_TRAITS. Insteads, for each needed compiler
frontend built-in, uses a combination of __has_feature() and _GNUC_VER
to enable or disable the particular type_trait library function.
These tests now pass in gcc-4.7
meta.unary.prop/is_trivial.pass.cpp meta.unary.prop/is_standard_layout.pass.cpp meta.unary.prop/is_nothrow_move_constructible.pass.cpp meta.unary.prop/is_nothrow_copy_constructible.pass.cpp meta.unary.prop/is_nothrow_assignable.pass.cpp meta.unary.prop/is_empty.pass.cpp
I think I'd rather see a _LIBCPP_HAS_IS_EMPTY defined in __config, rather than adding this here.
See _LIBCPP_HAS_IS_BASE_OF for an similar case.