Don't deduce address spaces for non-pointer-like types in template args.
This fixes bug reported in https://bugs.llvm.org/show_bug.cgi?id=38603 and enables most of template functionality to work correctly.
There is still work to be done on address spaces in TreeTransforms to enable full functionality of address spaces with templates (hence FIXME in the test).