Python module using memcache as a lock server.

Disclaimer: This code is inspired by unimr.memcachedlock . I thought I could
write a simpler version of MemcachedRLock class to keep dependencies minimal
(python builtins plus python-memcache), and enforcing support of gets/cas API.

WARNING: *very* little testing has been done so far. Better review & stress
this code before using it anywhere for the moment.

Example usage:
import memcachelock
import memcache
mc = memcache.Client(['127.0.0.1:11211'])
rmcrlock = memcachelock.ThreadMemcacheRLock(mc, 'foo_resource')
mcrlock = memcachelock.MemcacheRLock(mc, 'foo_resource')
mclock = memcachelock.MemcacheLock(mc, 'foo_resource')

All lock instances have the same API as thread.LockType (as of python
2.7). The first is a re-entrant lock, the second is a simple lock.
'foo_resource' is any string usable as a memcache key identifying some
resource this lock protects. In Zope world, it might be a traversable object's
path, or a database identifier plus some database-scoped unique identifier...

