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.
This seems like a small time window between receiving the full object to initiating the copy-up to add extra code to support.  Plus, if RBD caching is enabled, the request will be satisfied entirely by the cache.  My vote is to keep it simple and only care about the case where when you don't have the cloned object, follow the copyup code path if you don't see an in-progress operation, otherwise just treat it like a normal read.