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

New trial to fix #51 without breaking compatibility with everything else we have...

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++.