fix Issue 12235 - ICE on printing mangled name of forward reference lambda by pragma(msg)
fix Issue 12236 - Inconsistent mangleof result
fix Issue 12237 - Inconsistent behavior of the instantiating enclosing template function
[trivial] fix style nitpicks
fix Issue 10658 - Cannot merge template overload set by using alias declaration

- Add OverDeclaration and see it in overloadApply.
- Use OverDeclaration for template overload set merging.
- Check OverDeclaration in DotVarExp and VarExp.
fix Issue 8704 - Invalid nested struct constructions should be detected
Merge pull request #2417 from 9rnsr/fix10658

Issue 10658 - Cannot merge template overload set by using alias declaration
Merge pull request #3370 from 9rnsr/fix_lambda

Issue 12235 & 12236 & 12237 - fix issues around lambda
Merge pull request #1133 from 9rnsr/fix8704

Issue 8704 - Invalid nested struct constructions should be detected
[Refactoring] Rename variables for ScopeDsymbol to `sds`
fix Issue 12746 - Wrong overload access within manually aliased eponymous function template
Merge pull request #3548 from 9rnsr/refactor_sds

[Refactoring] Rename variables for ScopeDsymbol to `sds`
Merge pull request #3549 from 9rnsr/fix12746

Issue 12746 - Wrong overload access within manually aliased eponymous function template