added pub/sub wrapper package

Added support for Redis Pub/Sub connections by wrapping the `redis.Client` instance and providing convenience methods and types.
Usually I don't bother checking the `reply.Type` like this, and just go straight to using it. Cuts down on the amount of code, and will probably end up panicking if it's not actually that type (which should never ever happen, and how do we recover from that anyway?). I would say just check if `reply.Err` is populated, then continue using `reply.Elems[*]` after that.

I don't know that my way is the best way, but if you agree you can cut down on a lot of code :P