Io_splice 4.3.0 - zero-copy pipe I/O for Linux and Ruby

The splice family of Linux system calls can transfer data between file
descriptors without the need to copy data into userspace. Instead of a
userspace buffer, they rely on an ordinary Unix pipe as a kernel-level
buffer.

Changes: cleanups and compatibility fixes

This release fixes compatibility with Ruby trunk r44955 and onwards.
There are also numerous cleanups.
Note: usage of IO::Splice::WAITALL is deprecated and will be removed
in 5.x along with IO::Splice.copy_stream.