streams2: Make Transform streams pull-style
That is, the transform is triggered by a _read, not by a _write. This way, backpressure works properly.
streams2: Correct drain/return logic
It was testing the length *before* adding the current chunk, which is the opposite of correct. Also, the return value was flipped.
streams2: Add high water mark for Readable
Also, organize the numeric settings a bit on the ReadableState class
streams2: Do multipipe without always using forEach
The Array.forEach call is too expensive.
streams2: Get rid of .once() usage in Readable.pipe
Significant performance impact
streams2: Switch to old-mode immediately, not nextTick
This fixes the CONNECT/Upgrade HTTP functionality, which was not getting sliced properly, because readable wasn't emitted on this tick. Conflicts: test/simple/test-http-connect.js