Allow nesting propagated request scopes on same thread

ReceiveCommits invokes Runnables on the calling thread whenever
there is no background thread pool, or the thread pool is busy
and has started to reject new tasks. Permit nesting the context
by saving the old one onto the thread stack, and restoring it
after the call finishes.

Change-Id: I524aa65981417080d6a5d3a2c090e52e2e64351d
1 file changed