Fixes `Redis.__delitem__` & `Redis.__setitem__`.
add 2.8.0 new methods: scan/sscan/hscan/zscan
fix pep8 incompability
Added a locking object with key expiry and LUA transactions
Merge branch 'pr/403'
self reference in SentinelConnectionPool changed to weak reference 

circular reference changed to weak reference to enable garbage collection
Merge branch 'master' into pr/404
some *SCAN cleanup
Add extra info to exceptions raised in pipelines. Fixes #407

ResponseErrors generated by commands executed in a pipeline now includes the
command position in the pipeline and the actual command sent to the Redis
server. For example:

Command # 3 (LPUSH c 3) of pipeline caused error: <actual error message from
    Redis server>
Merge pull request #409 from paulovn/master

Circular reference in SentinelConnectionPool changed to weak reference, to enable garbage collection
Merge remote-tracking branch 'upstream/master' into newlock
change LuaLock to store a random string instead of a timestamp
* add redis.client.generate_random_token(), default token generator function
* store the token returned by the token_generator function provided to LuaLock.__init__() instead of the floating-point representation of the timeout value
* StrictRedis.lock() chooses to use LuaLock over Lock if the server accepts the script registration (pre-2.6 servers will return an error)