Make resque's interval always int

   Redis' BLPOP accepts timeout as integer.

     "The timeout argument is interpreted as an integer value specifying the maximum number of seconds to block"
       -- http://redis.io/commands/blpop
Small worker refactoring

Constructor now takes 2 arguments. First, queue (symbol/string) or an array of queue names. Second is hash with worker's options: timeout, interval, daemon, pid.
redis#smembers already returns array
Extract #constantize from helpers to core_ext String class
Make DontPerform regular error

Less magic
Remove ostruct, leftover
Require minitest in test_helper
Add mocha
Change and cleanup config

Beside redis connection, all Resque configuration is needed only for worker class which is dispatched from CLI.
This means the we actually don't need to keep this in class, it's was only there because of ENV support which is now solved in a different way, directly in Rake task.

Defaults from config and CLI class were removed, there was no sense to set it in so many places. Worker's constructor is the place were default options for it should be set.

Removed #load_config method, moved it's logic to CLI#initialize.

CLI class, especially #work method, is much cleaner now.
Remove failure_backed config option

Hardly anybody used it and it was confusing (at least for me). Failure::Redis is default failure backend. If somebody want's to set Failure::RedisMultiQueue should do following:

  Resque::Failure.backend = Resque::Failure::RedisMultiQueue
Fallback to Redis.new

Helpful for development, if Redis won't be set by #redis=, then Redis object with default options will be created
Move :run_at_exit_hooks attribute to options hash, add comments
Switch from mocha to minitest mocking
Move all worker's shorcuts to WorkerRegistry
Remove mocha
Rename #pid_file to #write_pid_file
Set real defaults for timeout & interval, adjust tests
Move redis to config
Add namespace helpers
Remove #constantize from Worker, it's already extracted to core_ext/string