Fix for PR21758

When a non-type template argument expression needs a conversion to change it
into the argument type, preserve that information by remaking the
TemplateArgument with an expression that has those conversions.  Also a small
fix to template type diffing to handle the extra conversions in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224667 91177308-0d34-0410-b5e6-96231b3b80d8