Extract the PushOp logic from PushQueue

There is no reason for this to be wedged inside of the PushQueue,
using static methods.  Its cleaner to make the PushOp actually
be the Runnable we inject into the WorkQueue, and let it manage
the push via its own instance members.  Consequently, it is now
a proper top level class.

Signed-off-by: Shawn O. Pearce <sop@google.com>
2 files changed