Make more use of GFileDescriptorBased and splice()
@danw
Submitted by Dan Winship Link to original bug (#616852)
Description
Not completely finished yet, but I wanted to get it off my hard drive. This makes g_output_stream_splice() use splice() with GFileDescriptorBased streams, and makes the remaining file-descriptor-based streams implement the interface.
It also adds sendfile() support for when the output stream is a socket. That part in particular can't go in as-is, because FreeBSD also has sendfile, but with a different signature. (Solaris has something similar too.) So that will need more configure checks.