Fixed codegen for template instances.

Now existing *defined* C++ class template specializations are working, however many implicit specializations are only declared and not defined in the PCH when every occurrence are pointers or references, and never values.

It seems like we can't escape making Sema instantiate or at least define new specializations if we want libraries using libstdc++ working.