[new AA] aaLiteral compiler support

This is a dmd part of the new AA implementation. 
This PR depends on D-Programming-Language/druntime#1046 and uses new aaLiteral version (with arrays of keys and arguments)

That segfault says you've got a `CallExp` where you haven't set the type correctly on `e1`.  You should still be able to print it out and hopefully that will tell you where it came from, and it either needs semantic run or the type to be set manually somewhere before optimize is called.