radeonsi: rework gpu reset handling
The central idea here is to handle "full GPU resets" and "soft recovery resets" differently.
The former invalidates all existing contexts while the latter only dropped one job from one context, without affecting others.
With this MR the dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.* test cases pass and the X server is still working as expected (previously it would hang).