fix Issue 3449 - const and invariant struct members do not behave according to spec

Non manifest-constant aggregate field now have runtime spaces.
Allow getting address of const/immutable field, but keep its constant folding
fix Assertion failure: '0' on line 1226 in file 'glue.c'
Improve error message for the non-mutable variable initialization.

If a non-local const/immutable variables has initializer, it cannot be re-initialized in the constructor.
Revert previous change, and explicitly allow non-mutable field assignment during construction.