Move common task startup/teardown behavior into a reusable decorator

This decorator will perform many common job tasks including stdout/stderr
writing to the job's log, automatic job status updates, creation and cleanup
of the temp directory, and downloading of input files.