tweak a test that relied too much on timing
add a test that feed/read can happen piecemeal
factor out BufferedPipe into its own class