Redis changes

* Changed a bunch of Redis client functions that returned these
  string objects to return void or throw exceptions as the values
  returned were always the same, and the few cases that checked
  the bad return code needed to be path killers anyway.
* The prepare call was connecting to Redis when all it needed to do was
  read the config file. Changed it to just do that. :p
* Extracted a socket class to clear up some of the code in the Redis
  client.
* Changed the logging in RedisApp to show the line numbers from where
  the numerous shell commands were originating.