fix Issue 8373 - IFTI fails on overloading of function vs non function template
fix Issue 12591 - std/typecons.d(440): Error: tuple has no effect in expression
Fix Issue 12598 - Emit better diagnostics when type is found where an lvalue was expected.
Merge pull request #3459 from 9rnsr/fix8373

Issue 8373 - IFTI fails on overloading of function vs non function template
Merge pull request #3468 from 9rnsr/fix12591

[REG2.064] Issue 12591 - std/typecons.d(440): Error: tuple has no effect in expression
Merge pull request #3470 from AndrejMitrovic/Fix12598

Issue 12598 - Emit better diagnostics when type is found where an lvalue was expected
[Refactoring] Move Type::reliesOnTident into a visitor class
[Refactoring] Simplify the role of inferType function

Move lambda deduction handling code from inferType to deduceType
[Refactoring] inferType
[Refactoring] Add FuncExp::matchType and simplify lambda conversions