[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)

>It's problematic that the instantiation depends on this.

Yes, symbol instantiation always depends on it. But when we will use real library AA, we will process Type inside Type::semantic, StructDeclaration where it is needed, aaLiteral only inside Expression::semantic.