WIP: JIT: flush a register if it won't be used for the rest of the block

***Depends on my carry optimization branch due to conflicts in PPCAnalyst; please don't push this before that!*** (and only review the last patch here)

This should dramatically reduce code size in the case of blocks with lots of branches, and certainly doesn't hurt elsewhere either.

This can probably be improved a good bit through smarter tracking of register usage, e.g. discarding registers that are going to be overwritten, but this is a good start and should help reduce code size and register pressure.