Follow "The Great Renaming" in LLVM 3.3

This time VMCore was renamed to IR. Several top level include
files were moved to new subfolder IR.
LDMD: Fixed -run parameter parsing.
Don't pass file name to executable on '-run'.
Fix test suite builds: backport copyright year change.
Align AlignDeclaration constructor signature to upstream version.

If there still are error messages benefiting from the added
location information, the change should be upstreamed, as usual.
Merged 2.061 frontend.
Remove LDC-specific callable literal kind inference hack.
Adapt to new DMD lambda inference mechanism.

Rewriting types this late is a questionable design and prone
to break non-DMD client code; this should be discussed
again with Kenji.
Added workaround for DMD accepts-invalid regression 9268.
Restore original Parameter::ForeachDg signature.

Having two functions is not pretty, but shorter than messing
around with a custom context object, and much, MUCH better than
requiring a lot of changes to the rest of the code base.
Use DMD's C++ name mangling functionality.

Likely wrong for MinGW/MSVC.

Fixes DMD testcase 'test7030'.
Updated hidden method error message according to DMD issue 6373.

Fixes DMD testcase 'diag6373'.
Cleanup: Remove redundant piece of code.

This case is already handled in DtoCreateNestedContextType.
Correctly handle ref variables in an outer frame.

Fixes DMD testcase 'testcontracts'.
Simplify code.

The code to generate a constant string is too complex. Just use the
method provided by LLVM.
The complexity was introduced during a LLVM refactoring....
Fix break out of non-nothrow range foreach.

Fixes DMD testcase 'test9068'.
Removed completely wrong postblit invocation.

This piece of code was invoking the postblit on the _source_
of the copy operation.
Do not unnecessarily call postblit after rvalue array initializers.

Fixes DMD testcases 'sdtor' and 'structlit'.
LDMD: Fix -deps generation.
Correctly set 'outer' reference of nested inner classes.

Fixes DMD testcase 'test11'.