[clang] make concept normalization a SFINAE context (#197356)
It is incorrect to allow the substitution failures in concept
normalization to make the program ill-formed.
These can happen when comparing the equivalence of constraints for
redeclaration checking, and a failure here only means these declarations
are not equivalent.
For now, these diagnostics are simply discarded. It would be nice if
some day, as part of diagnostics for non-matching out-of-line
definitions, we would explain why matching failed for each candidate,
and then add these as notes explaining why the constraints were not
equivalent.