Make the server client instance rather than class state.

We're going to be sharding our qless usage soon and having multiple qless redis servers.  We would like to have on web UI per qless redis server, and each
needs to be connected to a different qless redis server.
Update rspec.

Note that this exposed an rspec-mocks bug that I plan to tackle soon:

https://github.com/rspec/rspec-mocks/issues/217
Resolve constant name starting at Object rather than Kernel.

Kernel works fine when the constant is defined, but when it
is undefined, it leads to a confusing error:

`undefined constant Kernel::MyJob`

...rather than:

`undefined constant MyJob`
Merge pull request #72 from seomoz/allow_multiple_server_uis

Make the server client instance rather than class state.
Remove worker client reference.

The Qless::Worker does not need a reference to a client. It restrict
flexibility by coupling it to one client like this.  While it does not
normally make sense to do so, we have a case where would like a
single worker to pull jobs from queues on multiple qless servers,
which works just fine because the queue objects themselves know
what client to talk to.
Merge pull request #75 from seomoz/remove_worker_client

Remove worker client reference.
Fixes #74
Merge pull request #76 from seomoz/fix-74

Fix #74 using the "bandaid" solution
Add sentry middleware.
Add RedisReconnect middleware.
Expose `job_reservers` off of the worker instance.

It's useful in some specs I'm writing in our app to have access to this.
Remove code we don't need.
Merge pull request #77 from seomoz/middlewares

Middlewares
Cleanup whitespace.
Expose the client off of the queue.
Expose the client instance off of job instances.
Lua => LuaScript.

"LuaScript" is a better name for this class, as it represents a specific lua script, and not the lua language as a whole.

While I was at it, I moved the USING_LEGACY_REDIS_VERSION conditional out of the method and into the class body -- might as well evaulate that branch once at load time rather than once per script call.
Implement a lua script cache.

It's unnecessary (and slows things down) to load the same script into the same
redis server multiple times in the same process.
Merge pull request #79 from seomoz/lua_caching

Lua caching
Replace all instances of JSON.load with JSON.parse