Build LDC with address sanitizer enabled.

This commit adds an option to cmake to enable the address sanitizer if LDC is build with clang.
Specify -DSANITIZE=ON on the command line.
Merge pull request #522 from redstar/sanitize

Build LDC with address sanitizer enabled.
Files from DRV_SRC and DRV_HDR should be compiled with same flags as other files.
Add info to -version if compiled with address sanitizer
Do not generate invalid IR in dgc2stack pass.

Branching to a block that starts with a landing pad
instruction is illegal.

GitHub: Fixes #524.
Add virtual destructor to GarbageCollect2Stack to silence GCC warning.
_d_allocclass -> "_d_newclass".

The define is a leftover from the times when we supported
both D1 and D2.
Correct signature of _d_newclass runtime call.

Fixes programs trying to directly access it (e.g. the
GtkD bindings). Not sure why this didn't come up earlier.
Merge pull request #525 from klickverbot/fix-gc2stack-ir

Do not generate invalid IR in dgc2stack pass.
Merge pull request #526 from klickverbot/newclass-signature

Correct signature of _d_newclass runtime call.
Fix va_arg handling.

The change of symbol emission ignored the fact that the va_arg intrinsic must be
handled in a special way. This commit corrects the omission (which leads to seg
faults on Linux/PPC64).
Simplify `EmitMemSet` in GarbageCollect2Stack.

Simply take advantage of the predefined `CreateMemSet()` function.
Remove -Werror from LLVM_CXXFLAGS.

This flag causes compile errors we can't fix.
gc2stack: Remove unused safeToDelete mechanism.
gc2stack: Replace return type bool with proper enum flag.

This makes the code much easier to read.
gc2stack: Extract static size checking code into helper function.
gc2stack: Move TypeInfo handling code into FunctionInfo subclass.

This is to properly support calls that don't involve TypeInfo
at all, like it is already the case for _d_newclass, and will be
for _d_allocmemory.
gc2stack: Handle _d_allocmemory.

This allows us to clean up after inlining closures.
Merge pull request #532 from klickverbot/gc2stack-fixes

gc2stack: Cleanup, handle _d_allocmemory.
Add SSE4.1, SSE4.2, AES and SHA opcodes.

Also adds comments for all AVX opcodes supported by DMD.
This fixes issue #514.