Wip copy on read

An improved copy-on-read implementation based on the pull request (https://github.com/ceph/ceph/pull/2158) by Min Chen <minchen@ubuntukylin.com>, Li Wang <liwang@ubuntukylin.com> and Yunchuan Wen <yunchuanwen@ubuntukylin.com>. 

The bufferlist holding the entire object from parent is allocated separately.

Also provided a unit test for verifying the implementation.
@cchengleo Refactoring the CoR feature to use the waitlist callbacks (instead of storing read buffers) should allow you to notified when the copy-up is complete, thus you won't have a need to block.  Write operations that would have required the copy-up to complete before proceeding can insert themselves into the waitlist for the pending copy-up and be notified when it's complete so that they can proceed w/ their write op.