Extracted child process management out of Resque::Worker into
Resque::ChildProcess.

This is an attempt to reduce the complexity of Resque::Worker.

* Extracted logic for a forked child process into a dedicated class
* Made Worker#will_fork? public due to legacy test stubbing
* Moved the majority of the logic from Worker#fork_for_child into ChildProcess#fork_and_perform
Merge pull request #998 from einarj/childcare

Childcare
introduce Resque::Options as a wrapper for the options hash, replace will_fork? with options.fork_per_job. change legacy tests to make this easier to change in future refactorings
Merge pull request #1020 from jacobo/will_fork_refactor

introduce Resque::Options, delete will_fork?