Merge pull request #757 from kinke/abifix

Win64 ABI hotfix
Do not emit variables for enum declarations.

GitHub: Fixes #762.
Fix compile error with LLVM 3.6.

The llvm::Linker class now uses diagnostic messages.
Revert "Fix compile error with LLVM 3.6."

This reverts commit cc829485cc70dd74699f315534ae1634a75e78a5.
Merge of missing changes for 2.066.1.

Merge up to 0588458.
Allow overriding of header files.

This is the same behavior as DMD.
Fix compile error with LLVM 3.6.

The llvm::Linker class now uses diagnostic messages.
Implement missing -boundscheck switch in ldmd.

This was reported in the newsgroup by Daniel N.
Merge pull request #752 from redstar/merge-2.066.1

Merge of missing changes for 2.066.1.
Merge pull request #764 from redstar/llvm36

Fix compile error with LLVM 3.6.
Merge pull request #760 from kinke/vararg

Win64: don't use DMD x64 implementations of LDC_va_start and LDC_va_copy intrinsics
Merge pull request #765 from redstar/ldmd

Implement missing -boundscheck switch in ldmd.
Changes for Win64 and PPC32/64

- Added math function using MSVC runtime
- Added PPC inline assembler for getStackTop()
Include core.internal.* in druntime build.
Fix yet another LLVM 3.6 compile error with the llvm::Linker class.

The value llvm::Linker::DestroySource was removed.
Linux/PPC64: Statically define ELFv1 for Big Endian and ELFv2 for Little Endian Systems.

This is in preparation for the missing `--with-abi=` command line switch.
ELFv1 and ELFv2 are reserved version identifiers starting with DMD 2.067.
PPC: Improvements to core.thread
Better dumping of predefined version identifiers.

Also count spaces in order to limit line length to 80.
Fix compiler error introduced with 66610543995246cc5d552c83726aed0fbd2c12f2.
Implement core.checkedint in terms of LLVM intrinsics.