Read-write buffers.

Allows pants to gather the stdout/stderr of running subprocesses.

Auditors: markcc
Merge branch 'rwbuf'