Add cluster support for bitmap structure
Create a separate module for clustering support
DLM framework

Signed-off-by: Bo Yang <boyang@suse.com>
Signed-off-by: dongmao zhang <dmzhang@suse.com>
Introducing md_cluster_operations to handle cluster specific tasks

This would allow us to make the clustering part a separate module.
Elaborate node join/leave functions for cluster_info
Add super locking and unlocking functions
Message types for communicating with other nodes

There are 3 types of messages used currently:
1. METADATA_UPDATED: sent when a node updates the metadata super block
	and asks other nodes to update their in-memoy copy of the metadata
2. RESYNC_FINISHED: the node has finished the resync operation and needs to
	informs other nodes that they can use the range of sectors which
	was suspended earlier.
3. SUSPEND_RANGE: the node is syncing a range in the device and needs other
	nodes to suspend any I/O being performed in this range.
Communication infrastructure using DLM

TODO: Previous patch should be after this one.
Add node recovery callbacks

This would be helpful in bitmap replay/recovery when a node goes down.