Cleaned up a few TODO items

Spent a bit of time implementing the “clear all internal registers” function and added it into some unit tests, which should result in more accurate testing/catching some edge cases we wouldn’t have caught before. Also simplified the return path for shr8.?l so the data goes MAR->reg and not MAR->MDR->reg anymore, and cleaned up a couple minor TODO items in the simulator.

Going to look at swab (swap bytes in register) next, then probably sign extend after that.