When we added the non-interactive execution queue we broke the
ability to cancel a pending project request that had been deferred
with a Jetty continuation. When the timeout is reached we are
invoked through a different code path that bypasses the GuiceFilter,
which means we don't have access to the current user state.
That prevents us from finding the proper WorkQueue.Executor to
cancel the task from.
Remember the WorkQueue.Executor we pushed the task into, so we
can remove it from the same queue.
Bug: issue 614
Change-Id: I76344befc1c248cbd03f34d629d3ea15d9ef8bbf
Signed-off-by: Shawn O. Pearce <sop@google.com>