Ensure that the Redis and RedisMultiQueue failure types correctly extend
(not include) Resque::Failure::Each. This fixes a breaking change introduced
in 890ca9f.

Additionally, the refactoring also changed the behavior of ::each such
that if there were a single failure, the given block with yield to each
attribute of the failure rather than just the single failure.

Fixes #992
Remove unnecessary comment and add newline
Add tests for the Redis and RedisMultiQueue failure types
Ensure the ::all method of Failure::Redis and Failure::RedisMultiQueue always
return an Array per the documentation of Failure::Base.
Created a method in config that moves the connection to Redis to the backend
test passing when it should be failing, asserting that backend is receiving a method
test format of redis configuration
tested config.redis method
added an exception for invalid servers in backend
Add graceful_term option so TERM works like QUIT

If Worker#graceful_term is enabled, SIGTERM waits for a job to complete
before exiting (just like SIGQUIT).

Worker#graceful_term defaults to ENV['GRACEFUL_TERM'].

This makes it possible to use resque with runit/daemontools without
resorting to a wrapper script.
removed pry gem
cleaned up whitespace in config and config test
Merge pull request #1008 from chelseakomlo/refactor_config

Refactor config
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
Properly set graceful_term option
Pin minitest to 4.7.0

We're not compatible with 5.
Remove hoptoad failure backend and removes configure for airbrake.

Hoptoad no longer exists, so we don't need it.

Now that we only have one backend, we pull the thoughtbot one up into
airbrake.

configure is gone because it just did global config. Instead of running
the block, do this instead:

    Resque::Failure.backend = Resque::Failure::Airbrake
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?