Fix gsp synch

Fixed various issues with GSP synchronization. These include:
* Fixed a bug where the command list size was being incorrectly decoded, causing the GPU to execute invalid commands.
* Triggering the various GSP interrupts at more appropriate times.
* Setting an expected return code for RegisterInterruptRelayQueue.
Meh. I hope you're aware of the fact that the code of SignalInterrupt should actually be here instead, right? :/