Improved Redis Support

I have added support for the Redis 2.6.12+ extended SET (http://redis.io/commands/set) options, as well as the Redis 'watch' command http://redis.io/commands/watch.

However, the use of the watch command seems to cause the multi/exec functionality to hang until connection times out when the key has been changed after being watched.  I believe this to be a bug in the handling multi/exec, as all commands in the tests succeed on the server, as witnessed through a redis-cli monitor.

I'm not sure if I need to create a separate issue for this bug, but I figured I'd at least throw this code for someone to perhaps take a look at.  Kind regards.