TemporaryJobs: Enable manually undeploying jobs

Undeploying jobs is normally done automatically by TemporaryJobs, but the
new public overload of TemporaryJob.undeploy can be used to manually
undeploy a job prior to the end of the test run.
To be consistent with the logging, maybe this should use getDescription(Job job)? 
e.g. `format("Failed to undeploy job %s - %s", getJobDescription(job), errors.get(0))`