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.