Add TemplateInstance::tnext to construct instantiation dependency graph

To detect speculative instantiations in codegen phase, `tnext` is neccesary for the `test6()` case `runnable/link13350.d`. That's a big difference from the PR #2550.
Fix Issue 6423 - Garbage is returned from `void main()`
Check for NULL when looking up getenv("HOME").
Merge pull request #3938 from yebblies/issue6423

Issue 6423 - Garbage is returned from `void main()`
fix bug in Expression::extractLast
fix use of NrvoWalker

If fbody is the rewritten statement, the replaceCurrent should modify the fbody.
[Refactoring] fbody->semantic() does not modify FuncDeclarataion::type
[Refactoring] CtorDeclaration::syntaxCopy()
fix Issue 13336 - auto ref return deduced to be ref despite return value coercion
Merge pull request #3980 from quickfur/issue12130

Check for NULL when looking up getenv("HOME").
Merge pull request #3979 from 9rnsr/fix13336

Issue 13336 - auto ref return deduced to be ref despite return value coercion
add __c_long_double
fix Issue 13459 - segfault in two auto opSlices()
Create builtin for popcnt.

As suggested by @klickverbot popcnt should be a builtin as it is now an intrinsic.
Merge pull request #3983 from 9rnsr/fix13459

Issue 13459 - segfault in two auto opSlices()
[Refactoring] Add Type::equivalent(Type *t)
fix Issue 13437 - [e2ir] ICE in e2ir.c 4616
fix Issue 6334 - Template is silently not instantiated
fix Issue 7553 - auto template param triggers mixin conflict
fix Issue 7849 - Manifest constants don't resolve the polysemous literal type