Adjusted type_traits to compile with clang-3.1, too

The new version is cleaner anyway, since it can be used with any type
now.
Fixed type trait code
Fixed tvin-handling in assignment
Unified tvin/trivial_value_is_null usage for =,==,!= and !