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] Add StructDeclaration::fit to reuse it in other places
Supplement fix for DIP29 feature: Do not emit CastExp for const and unique conversions.
fix fix Issue 12681 - Rewrite rule prevents unique detection

Do rewriting in glue-layer.
fix CTFE interpreter