cluster: change the interface of distributed lock

Using only lock_id as parameter of lock interface and reduce function to only
two:

	lock(uint64_t lock_id)
	unlock(uint64_t lock_id)

The ->lock will create and acquire the distributed lock and ->unlock will
release it which is more convient for end user.
We use existed hash table to store the "<lock_id, cluster_lock*>" and release
all the resources of a distributed lock after all threads call "->unlock".

Signed-off-by: Robin Dong <sanbai@taobao.com>
Signed-off-by: Liu Yuan <namei.unix@gmail.com>