WIP: don't let the backpatcher hit the same location twice

If a location is hit by the backpatcher, don't fastmem it when recompiling the
block unless the block has actually been invalidated.
This actually needs to be two maps in my patch because I modified how it's stored. It's now:

codeptr -> PC
PC -> regsinuse

This is important because to *clear* values from regsinuse, we need to know how to index it, and we don't know the codeptr to use at the point where we need to clear it.