Handle double node locking snafu

If our queue processing is slow, and we lose the ZooKeeper session
after a node request has been fulfilled, but before we actually accept
the nodes, we need to be aware of this and not try to use the nodes
given to us.

Also pass the request ID along in the event queue since the actual
request object can have its ID changed out from underneath us on a
resubmit. Compare this ID with the request ID, and also verify that
the actual request still exists.

Furthermore, when we lock nodes, let's make sure that they are actually
allocated to the request we are processing.

Change-Id: Id89f6542afcf3f5d4a0b392b5cb8cf21ec3f6865
4 files changed