Removed lvalue backend logic - ideas for register indexing
Fixed dereferencing and ptr-vs-no-ptr load() issues
Don't decay sub-expressions for struct.member
Restructure of register vs register indexed backend
Volatile register ops (e.g. stack pointer dec.)

Also used for apply a register offset before an op
Enforce order for const-folding backend ops
Normalise offset-registers when copying registers
calc_ptr_step() returns 1 for constant ops with non-pointers
Use a full pointer register if dereferencing it
Added backend test
Fixed over-zealous use of memory references instead of literals
Register dup logic avoids adjusting the base pointer
Added hinting to out_dup() if the value won't change