Fix recursive process.nextTick calls
Add compatibility for 0.9 / 0.10 Streams

Fall back to readable-stream 0.2.0 for older
versions of Node. Also update tests now that
callling end() after end() does not throw.