Improve spilling regs on ARM

When spilling an imm in a reg, just turn it back into an imm.  We'll store it later anyway, but this way we might be able to optimize it out.

Also, when spilling, read ahead a few instructions.  Try to spill a reg not used in any of those instructions first before using just any reg.  I didn't test performance heavily but it should be better, and it chooses a different reg quite often.

Also, I went ahead and did the branch continuing but it's still not really faster from brief tests.

-[Unknown]