rbd: Use object map for IO operations

When the RBD object map is enabled, IO operations
now check whether or not an object exists before
sending a IO operation to RADOS.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
librados: Expose RadosClient instance id through librados

Allow librados clients to utilize the global id of the RadosClient.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
rbd: Request object map leadership if image is modified

When the object map is enabled, attempting to modify the image
data while not the object map leader results in a promotion
request to the current leader.  The current leader will demote
itself so that the other client can become leader.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>