Commit task to worker before transfering it.

This way, if something goes wrong with the transfer, the task is already
registered with the worker and handle_worker_failure re-inserts into the
ready_list.
Return worker failure if failed to send the task completely.
Merge pull request #405 from btovar/lost_task

Commit task and add it to the worker's list of tasks before attempting to send it. This enables failures during the transfer of input files to be caught and cleanly handled.