Paves the way for sharding Sidekiq in the same installation. Still does ...

...not allow the fetcher to use more than one Redis instance, but API and web could with more work.

---

I only spent 10 minutes on this pull but wanted to show a POC where we could go down a path to kill `Sidekiq.redis` global state (start injecting it in or using the thread local variable, which is probably better, in which case I'd rewrite some of this). I don't think that a Sidekiq server should ever shard out -- that is, a given Sidekiq process should always pull jobs from a single Redis instance. But I think that the API and Web UI should support a single application accessing all the Redis instances. For the web UI, I'd ideally like to mount Sidekiq::Web at multiple URLs and have them talk to different Redis instances so I don't have to deploy a separate application for each.

Anyway, this isn't very pressing, for my use case, I can make due with what I've got in 3.0 but wanted to float this out.