Treat failure to access input files at local path
different from failure to send to worker.
Change return type of start_task_on_worker().
There is no necessity to return an integer since it handles failures and the
caller doesn't have to worry if it succeeded or failed.
Differentiate between application and system level failures when starting tasks
on workers. Propagate these failures all the way up to start_task_on_worker()
where failures are currently handled.
Use the total bytes returned as sent in debugging.
On application-level failure in sending an input file, describe the file as
missing.
Change return type of fetch_output_from_worker().
There is no necessity to return an integer since it handles failures and the
caller doesn't have to worry if it succeeded or failed.