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.