Cleaned up `bitfield' and `register'

The +- functions did not align with the /* functions, they now do.
That means they can handle more than just integers, such as register
or bitfield objects as appropriate.