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.
Normalize backend's elf structures with system headers.
Forward to system headers when available.
fix Issue 13403 - [ICE][2.067Alpha] Internal error: backend\type.c 332 with new package protection extension.
use checkedint to check overflow
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 8425 - Missing line number and module name that can't use core.simd
Merge pull request #2879 from yebblies/issue8425

Issue 8425 - Missing line number and module name that can't use core.simd
Adjust Target::checkvectortype to naming convention.

Fix-up for pull rqeuest #2879.
Merge pull request #3964 from klickverbot/fixup-2879

Adjust Target::checkvectortype to naming convention.
Add POPCNT intrinsics
Merge pull request #3965 from WalterBright/addPOPCNT

Add POPCNT intrinsics
Fix Issue 12636 - extern(C++) class that implements D interface segfaults
Fix Issue 7942 - Appending different string types corrupts memory
Fix Issue 3022 - scope x = new Foo; does not allocate on stack if Foo has allocator

If new only has one argument, then it must be the size.
Fix segfault caused by indexing array with empty tuple.
Add test cases.
Merge pull request #3969 from quickfur/ice_emptytuple

Fix issue 13434: segfault on indexing array with empty tuple
Merge pull request #3967 from yebblies/issue12636

Issue 12636 - extern(C++) class that implements D interface segfaults
Merge pull request #3968 from yebblies/issue3022

Issue 3022 - scope x = new Foo; does not allocate on stack if Foo has allocator
Merge pull request #3966 from yebblies/issue7942

Issue 7942 - Appending different string types corrupts memory