Typesafety in MIPS processing, clean up analysis (not using it yet)

This creates structs for MIPSInfo and MIPSOpcode.  I hope it doesn't slow down the interpreter, but I don't see why it would.

This found the bug in "ReadsFromReg" (it was using the opinfo for grabbing rs, etc.) that made nice delay slots not work before.  The code wasn't being used anymore, though.

It also found that ARM was using ReadUnchecked_U32, rather than Read_Instruction, for delay slots.  This could be causing bugs and glitches that are arm specific if a delay slot is also used as a jump destination (I'm sure I've seen that.)

Changes a lot of files but theoretically shouldn't have any effects yet other than the armjit thing.

-[Unknown]