Prep work for preemption and GEM bugfixes

Chris Wilson
2017-02-14T09:54:19Z

Tidy up the global seqno in preparation for requests being cancelled,
and their seqno returned - even if they are currently being waited upon
by third parties. In the process one annoying GEM_DEBUG sporadic failure
is fixed and we are able to take another pass through
i915_wait_request() and make its loops more uniform.
-Chris