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'.
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'.
Hack to make nested struct .init results an rvalue.

The code still needs closer scrunity, as the 'nested' test
from the DMD testsuite doesn't fully pass yet.
Merge branch 'master' into merge-2.061-2
Merge branch 'master' into merge-2.061-2.
Merge branch 'master' into merge-2.061-2
Merge branch 'master' into merge-2.061-2

Conflicts:
	dmd2/interpret.c