Correctly load context for nested class members with own nested context.

Fixes DMD testcase 'xtest46'.
Allow casting AAs to bool.

Fixed DMD testcase 'nulltype'.
Do not invoke postblit twice on struct literal creation.

The frontend seems to explicitly insert __cpctor now.

Fixes DMD testcase 'sdtor'.
Fix array op argument evaluation order regression.

Fixes DMD testcase 'arrayop'.
Minor nested context doc comment improval.
Fold in testsuite merge fixes.
FuncDeclaration::canInline diff reduction.

The new arguments to the call in DtoLinkage do not exactly
match what was there before, but have been harmonized with
the other canInline call.
Remove LDC-specific .classinfo AST rewrite.

Apart from reducing the diff to upstream DMD, this also fixes a
"cannot interpret" CTFE issue.
Fixed ClassReferenceExp codegen, handle self-referential literals.
Remove unused StructLiteralExp::constType variable.
Backport StructLiteralExp::toChars infinite recursion fix.

We absolutely need this for log output/debugging.
Small debug diagnostics improvements.