support for non-copyable structs

This is really unfortunate, we can't find out whether a value passed to aaLiteral was a RValue or a LValue.
But IIRC the compiler will already copy lvalues when calling aaLiteral (including postblit???), so we could probably always __move__ the values. This definitely needs more work.