Moved location of non-macro entities within detect_traits.h to metaprogramming.h, where is really should have sat all along. Repackaged unit tests too
Added more tests