Use add/delete pattern instead of gets/cas.

Simpler & shorter code, fewer roundtrips, does not produce garbage on
python-memcached level (cas_ids).
Drawback: lock re-entry counter is not visible on memcached level.
Allow disabling release safety check.
Implement blocking acquisition quadratic backoff.
Add timeout support for lock acquisition.
Distinguish between unresponsive memcached and failed command.

python-memcached is making this hard for "add".
Implement stand-in optional behaviour.
Add lock persistence support.

When persistent, lock remains acquired when instance holding it is
destroyed. Lock ownership is resumed when instance is created with same
uid.
Also, restores compatibility with previous release (gets/cas-based).
Rework docstrings.