Fixed bug where sneaky invalid memory reads would appear in clobber lists.

The bug was due to not having a memory of previous values if a location is
overwritten during execution. By keeping a history of values for each
location this can be prevented.

Also an assortment of other opcodes were added as clobbering their dst reg.
Hopefully this will lead to higher diversity among generations.