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 will be handled by the else structure starting at 175. The logic is:
If (cor) {
  if (not in copyup list) {
    append request and wait;
  } else if (object is read back and being copying up) {
     fetch object and extract what we need
  } else {
    forward to read from parent
  }
} else {
  read from parent
}