Disable internalizing of nested functions.

This works around linking problems such as rejectedsoftware/vibe.d#338,
caused by the frontend appending template instances to the wrong
module.

GitHub: Fixes #558.
Handle differing LLVM types for AA literals.

This unsfortunately more or less duplicates the code we have for
emitting ArrayLiteralExps, but with the different iteration
strategies, having a single implementation would wind up
even messier.

Unfortunately, no regression test case yet, as I found this deep
inside vibe.d.
Merge pull request #557 from klickverbot/assoc-array-const

Handle differing LLVM types for AA literals.
Merge pull request #559 from klickverbot/disable-internalizing-nested-functions

Disable internalizing of nested functions.
Merge branch 'master' into merge-2.064.