Adds support for spilling the scratch mask register to a scratch gpr.
Instead of comprehensively expanding drreg to manage mask registers, we are spilling the scratch mask for scatter gather expansion to a drreg managed gpr. A future patch still needs to handle the case of an asynchronous event hitting in the small window where the mask register is invalid, so we can restore its value.
Adds a test for above.
Issue: #2985 (closed)