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

I am not well know the DMD internals, but I have the following points:
1. When dmd runs semantic of `Test5` it detects a circular dependence between `AssociativeArray!(Test5, string)` and `Test5`  which contains a `AssociativeArray!(Test5, string)` field.
2. dmd defers `AssociativeArray!(Test5, string)` semantic (including initializers of its fields).
3. dmd forget do this semantic, because AssociativeArray defined in non-root module.
4. dmd tries to optimize and write to object file a `AssociativeArray!(Test5, string)` with its static fields, but semantic is not done for it.