fix Issue 10171 - Unexpected error "cannot infer type from overloaded function symbol"
[improve] Allow psparam == NULL on TemplateParameter::deduceType

This will avoid some unnecessary symbol declaration like for just type matching.
Remove Scope::parameterSpecialization

It becomes unnecessary by using `Type::reliesOnTident()`
[Refactoring] Add another version of TemplateParameter::matchArg and use it
Merge pull request #2077 from 9rnsr/fix10171

Issue 10171 - Unexpected error "cannot infer type from overloaded function symbol"
Merge pull request #2078 from 9rnsr/refactor_ded

Refactoring template parameter deduction code