Avoid processing->released reporting cycle (#1119)
Avoid processing->released reporting cycle (#1119)

Previously the scheduler would tell the worker to cancel a task, then it would
tell the worker to restart that task.  However at the same time the worker
would tell the scheduler that it was cancelling a task.  This race would cycle
around repeatedly until the task was deemed a failure.  Now we no longer report
from worker->scheduler if we're only doing what the scheduler told us to do.

This fixes an intermittent failure in distributed/tests/test_worker_failure.py::test_broken_worker_during_computation
mrocklin/distributed,dask/distributed,dask/distributed,blaze/distributed,dask/distributed,mrocklin/distributed,mrocklin/distributed,blaze/distributed,dask/distributed