Zero-copy object-server PUT requests with splice()

For non-chunked PUT requests, we can now use splice() to move the data
directly from the socket to disk without passing through user space.

There's a new abstraction in SpliceFd and SplicePipe that's nice. TODO: write about it

There's a horrible hack in the object server's PUT handler. It's awesome like a train wreck. TODO: write about it

Change-Id: Ibf5ad68cdd4700df8b15d108e1bbf63c50c2478e
TODO: benchmark results go here (they'll be awesome!)