Differentiate between application and system level failures when retrieving
output files from workers. Propagate these failures all the way up to
fetch_output_from_worker() where failures are currently handled.