When we cancel a node request, we delete the request from ZK. We
might get the callback from ZK to update the node request object
(due to the delete event) in a seprate thread while the first thread
is between the lines where we delete the request and set the internal
flag indicating it was canceled.
That would cause the update callback to think that the request was
externally deleted (not by us) and resubmit it.
To correct this, set the internal canceled flag before performing the
ZK delete.
Change-Id: I1b4771b5840cb168b01939bd8590534ef618d878