osd: pass and verify data+omap digest on copyfrom

Two things here:

 1- Pass the original digest from the source across the wire, if it is
    present.
 2- Calculate a new digest as we receive it, and record that.

If there is a mismatch, we currently crash; need to turn this into an
EIO, most likely.

Signed-off-by: Sage Weil <sage@redhat.com>
osd: add copyfrom error injection

Unfortunately it's nontrivial to inject this from the usual
ceph_test_rados_api_* tests which need to run despite thrashing.

Signed-off-by: Sage Weil <sage@redhat.com>
rados: use copy_from for rados cp (and cppool) command

A hammer CLI won't be able to run against a pre-firefly OSD, but I don't
think we care.

Signed-off-by: Sage Weil <sage@redhat.com>
test/osd/osd-copy-from: simple test of copy-from and error injection

Signed-off-by: Sage Weil <sage@redhat.com>