Created the sysregister union
interpreter ops now use sysregister correctly.
Fixed register alignment issues in interpreter.h

I also added the start of data subtypes