[new AA] implement aaLiteral

This functions will be used to constructing AA values: literals and nulls. When this PR will be merged, I will create PR for dmd, which uses this functions, and when dmd PR will be merged, I'll create PR, which rewrite this functions to use new AA implementation.
No. If I'll construct a array compiler will initialize it with init data (is Value is a struct with `@disable this()` it causes a error).
After that I'll shoud to assign (call opAssign) instead of adding new values.