Refactoring of how redis connections is handled

 - New exception class RedisClusterException that will raise errors when connection and configuration problem is detected.
 - Changed arguments to RedisCluster().__init__ so that it can in a better way be a drop-in replacement for a StrictRedis object
 - Updated docstring for some functions
 - Use same function to create new StrictRedis connection everywhere (DRY)
 - __init__() will now check for some constraints that Redis impose when running in Cluster mode
Monkey patch RedisCluster into 'redis' namespace for easy access
Fix test.py after kwargs refactoring in RedisCluster
Added --resetlastkey argument to test.py so loop() will start over when running
typo in parser argument