streams2: Allow Writables to opt out of pre-buffer-izing
streams2: Support write(chunk,[encoding],[callback])
test: Writable bufferizing, non-bufferizing, and callbacks
streams2: Fix regression from Duplex ctor assignment
test: fixture for streams2 testing
streams2: flow() is not always bound to src
streams2: Use StringDecoder.end
streams2: Abstract out onread function
streams2: Fix duplex no-half-open logic
streams2: Export Readable/Writable State classes
streams2: Add high water mark for Readable

Also, organize the numeric settings a bit on the ReadableState class
streams2: Set Readable lwm to 0 by default
streams2: Only emit 'readable' when needed
streams2: Writable organization, add 'finishing' flag
test: Update stream2 transform for corrected behavior
streams2: Do multipipe without always using forEach

The Array.forEach call is too expensive.
streams2: Remove function.bind() usage

It's too slow, unfortunately.
streams2: Get rid of .once() usage in Readable.pipe

Significant performance impact
streams2: Refactor out .once() usage from Readable.pipe()
streams2: Set 'readable' flag on Readable streams