Add test coverage for `splice` and `tee` failure scenarios

This patch adds 2 new tests for `swift.obj.diskfile.zero_copy_send`,
injecting a failure scenario when `tee` doesn't copy all bytes in one
go as it's expected to by the code, and one which tests whether the
code correctly trampolines when `splice` returns `EWOULDBLOCK`.

This was suggested by Paul Luse in review 135319 (for 2a0a8ae00f2), and
now covers code paths which were previously untested.

Change-Id: Ife84d772320d6214c93d8044feb613389f71e8da
See: https://review.openstack.org/#/c/135319/4/swift/common/splice.py,cm
See: 2a0a8ae00f2d3b7db255b0905b063e930f824f3d
Merge "Add test coverage for `splice` and `tee` failure scenarios"