Add type_traits header with all alias templates that are added in C++14

A manual implementation of result_of as an SFINAE-like type is needed.
Hopefully this implementation can be significantly reduced to not
cause a large amount fo code to be written to have this support.