Fix issue with receiving 0-length strings & framed transport.

When we request to read 0 bytes we could attempt to read a frame. If we're at the end of the response, this will never return.