The `byte-streams` module provides streams for reading and writing bytes. @class @constructor Creates a binary input stream that reads bytes from a backing stream. @param inputStream {stream} The backing stream, an nsIInputStream. @property {boolean} True if the stream is closed. @method Closes both the stream and its backing stream. If the stream is already closed, an exception is thrown. @method Reads a string from the stream. If the stream is closed, an exception is thrown. @param [numBytes] {number} The number of bytes to read. If not given, the remainder of the entire stream is read. @returns {string} A string containing the bytes read. If the stream is at the end, returns the empty string. @class @constructor Creates a binary output stream that writes bytes to a backing stream. @param outputStream {stream} The backing stream, an nsIOutputStream. @property {boolean} True if the stream is closed. @method Closes both the stream and its backing stream. If the stream is already closed, an exception is thrown. @method Writes a string to the stream. If the stream is closed, an exception is thrown. @param str {string} The string to write.