Take total control of buffering and syscall dispatch for pipes

The intent is to reduce the number of system calls required by WAL-E.