[ARM32] rlwimix and rlwnmx optimizations.
[ARM32] srawix optimization when source is an immediate.
[ARM32] negx optimization if source is immediate
[ARM32] cntlzwx optimization if source is immediate
[ARM32] Adds unsigned compares.
Superscedes PR #1131.
Optimizes cmpi a bit.
[ARM32] Eat a register to store our memory base.
This saves at least two instructions per fastmem operation.
[ARM32] Moves loadstore extend flag to backpatch code.
[ARM32] Minor optimization in paired loadstores.

When the offset can fit in the instruction encoding make sure to do so.
[ARM32] Fix a couple bugs in the paired loadstore routines.

This code was obviously wrong, we were sign extending 8 bit unsigned values and loading from the wrong offset as well.
This fixes a bug in Muramasa where some colours were going insane.