Minor refactoring of the Worker internals

* Moved @child reset from #work into #process_job
* Moved work loop into its own method
Merge pull request #970 from einarj/refactor_workloop

Minor refactoring of the Worker internals