Add tests
Force opts.pattern to be a string or Buffer
Pipe until pattern example
Read until pattern example
Better pipe until test
Don't prematurely return entire stream contents in read()
Update examples for changed API
read() returns exactly the pattern once it's been reached
Clean up examples
Cleanup / better flush behavior before stream end

Ensure all buffered data is written to pipes prior
to emitting 'end'
Split tests into multiple files
Use setImmediate shim for v0.8 compatibility