Basically, this class is an über-class that acts just like `Resque.redis` used to, thus maintaining backwards-compatibility.

The real "win" is that we've separated the various aspects of resque into different classes (which I will state now are all named horribly—please help me come up with better names):
* How do I access jobs in the queues? `QueueAccess`
* How do I find out about failed jobs? `FailedQueueAccess`
* How do I manage the workers? `Workers`
* How do I use the stats? `StatsAccess`

Each of these new classes could include the `method_missing` and `respond_to?` methods here and then be replaced for `DataStore` in the various resque classes.  e.g. `Resque` could likely just use `QueueAccess` instead of `DataStore`; `Worker` could just use `Workers`.

Given all of *that*, a way forward could be:

* do that, and add deprecation warnings in `method_missing`.  This warnings would be triggered by third parties who were access `Resque.redis` directly.  Probably a ton of this would exist
* Remove `method_missing` as a breaking change
* Allow replacement of any of the implementations of these classes.  e.g. you could implement `Workers` to store worker metadata in a SQL database (or whatever)

I realize I'm hand-waving over a massive amount of work, but it would avoid rewriting the core of resque, I guess.

Selfishly, this still allows me access to many resque queues' metadata from one RubyVM, which is my immediate need.