Switch jl_typemap_t from unions to bare pointers
The clang static analyzer has very poor support for unions.
Thus in an attempt to get the GC analysis through without
any false positives, stop using unions for typemaps.
This commit should have no changes other than that.
GC annotations for this code will come after I rip
out the hacks to support unions from the static analyzer.