Refactor, take 3

This is about RedisClient.
Granted, it's not *really necessary* to abstract away the redis-client package behind our own class - it just makes things a bit clearer and slightly reduce Cache complexity.

The mocha tests now launch and stop their own redis servers (assuming there is a redis-server binary in the path) - so, you need one locally installed (not necessarily started, though) if you plan on running the tests (travis.yml has been updated accordingly - fingers crossed).

Tests are not exhaustive, but at least we are testing authentication, and more importantly redis server various error conditions.

That last point made me wonder what's happening currently in cache when the Redis server looses it (https://github.com/dotcloud/hipache/blob/master/lib/cache.js#L58).

I'm not too sure what would be best here - is (almost) silently ignoring redis errors really a good thing? What if we just couldn't reach it? Is it sane to have the worker sitting there, trying over and over to reach it?