Fixes #51: gcc 4.8.0 removes has_trivial_destructor<T>.

Fixes #51.

Now we explicitly test for gcc < 4.8.0, and refer to `has_trivial_destructor<T>` only in that case. For all other compilers (clang or gcc >= 4.8.0), we refer to `is_trivially_destructible<T>`.