An assumption during the creation of Template Type Diffing expected that integral arguments would be available as Expr's (e.g. IntegralLiteral).  However, it appears that in some cases, the TemplateArgument gives an Expr, and in others, TemplateArgument only gives an APSInt.  This patch allows Template Type Diffing to handle APSInt by storing in inside the tree nodes, as well as other bits of information needed.  Also, in cases where one argument is given as an Expr and the other as an APSInt, evaluate the Expr and store the result as an APSInt.