stream2: flush extant data on read of ended stream

A ReadableStream with a base64 StringDecoder backed by only
one or two bytes would fail to output its partial data before
ending. This fix adds a check to see if the `read` was triggered
by an internal `flow`, and if so, empties any remaining data.
    
Fixes #7914.
Hm, actually, I stand corrected; switching to a check for `flowing` breaks an ssl test (`test/simple/test-tls-server-large-request.js`). Switching back to `nOrig === undefined` for now.