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
Refactor pause and add test coverage
Do not prune workers from queues that we don't listen to.

If the worker we are trying to prune does not belong to the queues we are listening to, we should not touch it.

Attempt to prune a worker from different queues may result in an unknown class exception, since that worker could easily be even written in different language.
test format of redis configuration
Merge pull request #1002 from dsabanin/dont-prune-foreign-workers-against-master

Do not prune workers from queues that we don't listen to.
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