Remove D1 ModuleInfo remnants.
Remove code for emitting the old ModuleInfo layout.
Moved constant array creation helper to llvmhelpers.h.
Fixed ModuleInfo module name emission.

The name string is actually emitted inline, not as a pointer
to a global.

GitHub: Fixes #243.
Replaced response_expand with BSD-licensed reimplementation.

Cleanup to follow later.

GitHub: Fixes #267.
Merge pull request #350 from klickverbot/oss-response-expand

Replaced response_expand with BSD-licensed reimplementation.
Merge pull request #349 from klickverbot/fix-moduleinfo

Fixed ModuleInfo module name emission
Add missing include for Windows
Merge pull request #352 from redstar/winldmd

Add missing include for Windows
Add <cctype> to asm-x86.h.

This removes a conditional block introduced for MSVC.
Expand on IrType::get rationale.
Get rid of empty IrBase class.

It isn't useful in any way now that the GC is out of the
picture, and the existance of a "dummy" toChars() method is
annoying when debugging.
Factored out struct initializer constant generation.
Handle different element initializer types in array literals.
Unify handling of struct initializers.

GitHub: Fixes #351.
Avoid confusing naming convention.

We generally do not really use underscore prefixes. But if
they are used in other codebases, they typically refer to
member variables.
Do not try to guess exact initializer type.

This might have been required with the old (pre-3.0) LLVM
type system, but the module linker handles global type
resolution just fine now.

Also, it is virtually impossible to determine the type in
advance for some cases, e.g. an array of unions with an
initializer that contains pointers to the array itself.
Get rid of now-obsolete DtoConstInitializerType.
VarExp::toElem refactoring and global size assertion.

Frontend errors shouldn't be used for glue layer consistency
checks – maybe the error was actually hit in ancient versions.
Check initializer type size in IrStruct::getDefaultInit().