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.
Yeah probably makes more sense. I plan on refactoring this later in a subsequent PR, I'll but a TODO in the code for now.