This fixes an edge case where the following happens:
* a body stream had data pushed to it such that the highWaterMark was reached
* when the body stream buffer dips below highWaterMark, _read() is called
* _read() tries to read more data from the socket, which pushes the last part of the body
* the last body part push() again calls _read() which in turn reads more data from the socket
* at this point the parser state is not stable because _body._read and _body are not reset yet, this causes the parser to potentially try to start reading the beginning of a response in the middle of the data for another fetch result for example
Fixes#345