Merge pull request #1683 from 9rnsr/fix9536

[REG2.059] Issue 9536 - IFTI fails when calling a static member from const member
Merge pull request #1688 from 9rnsr/fix9566

[REG 2.062] Issue 9566 - Cannot use struct .init when it contains static array initialized from a single element.
[Refactoring] Rename local variables
[Refactoring] Swap parameters loc and sc

Only overload related functions use (sc, loc) order, but others (Type::semantic, Type::resolve, functionParameters, etc) uses (loc, sc) order. Therefore align the parameter orders to the latter.
[Refactoring] Remove redundant argument setting
[improve] Allow psparam == NULL on TemplateParameter::deduceType
Allow overloading with functions and templates

The overloaded functions are placed in the head side of unified overload list.
The overloaded templates are pladed in the tail side of that.
fix Issue 1528 - [tdpl] overloading template and non-template functions

Improve resolveFuncCall() for integrated function call resolution, and widely use it.
[Refactoring] AssignExp::semantic
[Refactoring] DotTemplateInstanceExp::semantic
+improvement
++
x new dedargs
y lazily replacing dedargs -> tdargs
-debug prints and fix "more than one template" error message
Add test for some ambiguous cases
-cleanup