Show expression constness in -Xprint
Fix const-addressing an array in a struct from an int-constant

Also added offsetof test
op-expressions make sure to handle const-offsets
Cast expressions ensure correct const type for (non-)pointers
struct-const-fold doesn't expect CONST_NUM

This is because ((struct A *)0)->abc is now converted from
{ CONST_NUM + offset } to { CONST_ADDR }
__builtin_offsetof() expects NEED_ADDR and accounts for offset
offsetof() test
cpp can optionally process __builtin_offsetof() (off by default)
__builtin_offsetof() doesn't lvalue-to-rvalue its operand