Update TUnion to use variadic templates (and thus store more than six types)

I’m not sure on the compiler support aspect (has VS2012 been phased out yet?), but it’d be great if TUnion could handle more than six types. I am currently having to use a standard C++ union because of this. The use of a variadic template would allow for quite a few types and absolutely solve this problem.