fix Issue 11153 - ICE during a diagnostic for missing return type
[Refactoring] Sync template constraint processing between TemplateDeclaration::matchWithInstance and deduceFunctionTemplateMatch
fix Issue 10074 - segfault in dmd

From 2.061, `deduceFunctionTemplate` has been using TemplateDeclaration::matchWithInstance to do IFTI more strictly.
However, `matchWithInstance` does not detect the recursive template instantiation inside template constraint, against `deduceFunctionTemplateMatch`.

Duplicate the detection mechanism into `matchWithInstance`.
fix Issue 10082 - ICE(e2ir.c) Multiple mixin template instantiations are not checked
Merge pull request #2610 from 9rnsr/fix11153

[REG2.064a] Issue 11153 - ICE during a diagnostic for missing return type
Merge pull request #2613 from 9rnsr/fix10074

[REG2.061] Issue 10074 - segfault in dmd
Merge pull request #2616 from 9rnsr/fix10082

Issue 10082 - ICE(e2ir.c) Multiple mixin template instantiations are not checked