Opt: Ret: bit shift to load data from stack
Restored searching algorithm in instructionswrapper
The ret instruction still uses it so it is still relevant for simulation
performance
Opt: made things final
Fix test
(note to self: run rdmd unittest on main.d as well before commit)
Opt: ReferenceRegister casts value

Looks like the bitmanip functions copy data. This gives a 70% performance boost
in my case.
Opt: do not use PC to detect end of program

Returning the address of the executed instruction in step and using that to
decide to stop or not gives a 17\% performance increase. From an architectual
point of view it is less elegant to let the step function return the cycles
instead of the address.
Opt: sreg functions, set all bits in one go

13\% performance increase