Added a locking object with key expiry and LUA transactions

Hi,

After reading  https://github.com/andymccurdy/redis-py/pull/384#issuecomment-29356920 , I've added a backward compatible lock implementation, with key expiry and LUA transactions. I've also added some code to fallback to current implementation if redis version is < '2.6'.

It doesn't break any existing test :)

Can you please merge?