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

As the big comment in the commit says, the new implementation
drops support for the combination clang 3.1 with libstdc++.

However that is not supposed to be a problem since
*   Linux and Windows use only clang 3.2 of the generation phase
*   Mac OS always uses libc++.
Merge pull request #54 from sjrd/issue/fix-51-2

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