Fix bogus zero-length array test.

Issue 7175 was about .ptr always giving null for a zero-length
static array in a struct, despite the fact that the struct has
size 1 and thus certainly a non-null address.

The test case as modified by 36c9b64, however, checks that a
free-standing zero-length static array on the stack has an
address, which is quite a different scenario. From the spec,
I don't see a reason why zero-sized objects should need any
memory associated with them, so I am reluctant to pessimize
LDC's codegen over this.
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.
Add test for worksforme bug 6405.
Merge pull request #3974 from quickfur/test6405

Add test for worksforme bug 6405.
volatile is now an error
Merge pull request #3977 from WalterBright/noVolatile

volatile is now an error
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()