wip copy on read

This is the copy-on-read feature based on both cmgitdream's (https://github.com/ceph/ceph/pull/2158) and cchengleo's (https://github.com/ceph/ceph/pull/2587) improvement. Please close https://github.com/ceph/ceph/pull/3030 and https://github.com/ceph/ceph/pull/2852 as it is easier to merge into this.
Maybe skip the guard_read if CoR isn't enabled.  You can create a helper inline function for the ```(m_ictx->cct->_conf->rbd_clone_copy_on_read) && (!m_ictx->read_only) && (m_snap_id == CEPH_NOSNAP);``` logic that can be used here and in ```should_complete```