[Sema] Use a TreeTransform to extract deduction guide parameter types
Previously, we just canonicalized the type, but this lead to crashes with
parameter types that referred to ParmVarDecls of the constructor. There may be
more cases that this TreeTransform needs to handle though, such as a constructor
parameter type referring to a member in an unevaluated context. Canonicalization
doesn't address these cases either though, so we can address them as-needed in
follow-up commits.
rdar://
41330135
Differential revision: https://reviews.llvm.org/D49439
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338165
91177308-0d34-0410-b5e6-
96231b3b80d8