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.
+1, also, I think this would qualify for using multiplication instead of a shift.