extract #perform from #work to run a job

In our applications we use a custom QC worker. I need to run a job without letting the worker lock the job, so I can't call `#work`. The problem is, that you then need to duplicate the process to run a job, handle failure and remove the job.

When I also saw that exact duplication in the README I wanted to extract the code to process a job into a separate method to make the worker more reusable.

@ryandotsmith let me know what you think.