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.
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.
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?
Remove some unnecessary "begin" keywords
extract signal trapping to SignalTrapper
Merge pull request #1023 from signaturelabs/unnecessary_begins

Remove some unnecessary "begin" keywords
change "extend self" style of SignalTrapper
Merge pull request #1024 from signaturelabs/signal_trap_extraction

Extract signal trapping to SignalTrapper
Use File to grab yml redis file

In Rails 4.0.0.rc1 and ruby 2.0.0-p0, the Rails.root doesn't extend
the path correctly via "Rails.root.join". This patch uses ruby's
File.join to join the dirs together into a correct, full path.
Merge pull request #1025 from ekampp/master

Correctly join file path to include redis yml
Defining the jruby? method

This defines the jruby? method used in d4e5693d but never defined. This
was discussed in #1003.