Initial pass at API
Ctrl-S
Remove .via, not sure it's necessary.
Explicitly pass Redis associated with this job

When pushing a job, the middleware should be able to access the Redis instance associated with that job.  Previously, Sidekiq was limited to one global Redis instance.  Now that we want to support sharding, we have to explicitly pass the instance in OR hack up APIs with thread local variables.  Explicit is better.
Revert "Remove .via, not sure it's necessary."

This reverts commit dd798bb6be0a3b0285a24248d0d51c51e1672c93.
Updated .via API
Merge pull request #1603 from mperham/shardable_client

Client redis sharding