fix Issue 12727 - DMD hangs up on recursive alias declaration

By the commit fd1762c33ac034ad3112e69f21421b5c75b3cc6c, now static-if declaration does nothing in `addMembers` phase, and conditional eponymous template instance cannot raise "recursive alias declaration" error in `TemplateInstance::semantic`, because `TemplateInstance::aliasdecl` is not set until the end of it.

By looking for circular aliasing not only in `AliasDeclaration::semantic` but also in `AliasDeclaration::toAlias`, we can defer the detection until appropriate timing.
[Refactoring] Remove implicitly generated AliasDeclaration in TemplateInstance
fix build with VS2013, strtold now also found in stdlib.h for C++11 conformance
Merge pull request #3545 from 9rnsr/fix12727

[REG2.066a] Issue 12727 - DMD hangs up on recursive alias declaration
fix Issue 12719 - struct.c:705: virtual void StructDeclaration::semantic(Scope*): Assertion `parent && parent == sc->parent' failed.
fix Issue 11333 - ICE: Cannot subtype 0-tuple with "alias this"
Merge pull request #3541 from rainers/fix_VS2013

fix build with VS2013
Merge pull request #3544 from 9rnsr/fix12719

Issue 12719 - struct.c:705: virtual void StructDeclaration::semantic(Scope*): Assertion `parent && parent == sc->parent' failed.
Inhibit GCC warning -Wmaybe-uninitialized in DMD_OBJS
Merge pull request #3543 from nordlow/inhibit-Wmaybe-uninitialized

Inhibit GCC warning -Wmaybe-uninitialized in DMD_OBJS
Merge pull request #3546 from 9rnsr/fix11333

Issue 11333 - ICE: Cannot subtype 0-tuple with "alias this"
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