Add Predis support

As I've mentioned on Reddit a few days ago, this PR adds support for the Predis library.

Unit tests are passing, but this was a very quick attempt so let me know if there is anything missing and I'll amend the PR.

Thanks!

*Edit:* Travis fails since it can't locate Predis. Seems it can be fixed by updating travis.yml but I don't know how to do it.
No, you don't need to extend `ExceptionalQueue`. Its purpose to wrap exception coming from underlying driver to ease catching queue specific exceptions. What I mean is that you need to remove `try/catch` blocks to allow predis client to throw its own exceptions.