Make MIPSInfo a struct for typesafety.

Found a bug in ReadsFromReg().
Clean up register usage analysis a bit.
Warning fixes in msgpipes.
Use a typesafe struct for opcodes.

Also, correctly read delayslots using Read_Instruction on ARM.
Pass in some analysis results, don't use yet.
Merge pull request #3372 from unknownbrackets/mips-minor

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