stream: Add Readable.firstBufferLength property

Adds a firstBufferLength property to stream.Readable objects, as well
as tests and documentation. In certain situations, calling
stream.read(stream.firstBufferLength) can be significatly faster than
calling stream.read() or stream.read(FIXED_LENGTH), because buffer
copies can be avoided.

This allows users to write read calls that behave similarly to read()
when the stream is in objectMode. Many streams (e.g. Sockets that arise
from connection events) cannot be put into objectMode.