[Refactoring] Add helper functions for TemplateTypeParameter deduction
fix Issue 11868 - ICE(template.c) on passing `inout const` argument as TemplateTupleParameter
Merge pull request #3064 from 9rnsr/fix11868

[REG2.066a] Issue 11868 - ICE(template.c) on passing `inout const` argument as TemplateTupleParameter
fix Issue 11863 - std.conv.to!string(int/uint, radix) returns incorrect string
Merge pull request #3069 from 9rnsr/fix11863

[REG2.064] Issue 11863 - std.conv.to!string(int/uint, radix) returns incorrect string
check for recursive alias this in Type::deduceType
Merge pull request #3066 from rainers/fix_11875

fix 11875: static if template type deduction causes infinite recursion with recursive alias this