Make lock blocking with no time out by default

The lock_timeout option that has been copied from memcached actually
does not mean the same thing at all. In memcached, it's used to expire
the lock when a client dies, whereas in IPC and ZK it's meant to be a
timeout on acquire().
This means that by default acquire(blocking=True) will have different
behaviours between the different drivers.

We now avoid that by removing lock_timeout from ZK and IPC, and allowing
the blocking argument from acquire() to be a numeric value.

Change-Id: Idb68e2ff945403f7ee24d86ea480531122b19ff8