The StreamingByteReader will read ranges of bytes (chunks) from
a source using a RangeReader. If bytes are requested from it
that require chunks it does not have, it will fetch those chunks
and store them in memory. If the maximum number of chunks
is reached, the oldest chunks will be kicked out.
This class extends ByteReader who's source of bytes is from a RangeReader instance.
The StreamingByteReader will read ranges of bytes (chunks) from a source using a RangeReader. If bytes are requested from it that require chunks it does not have, it will fetch those chunks and store them in memory. If the maximum number of chunks is reached, the oldest chunks will be kicked out.
A new instance of StreamingByteReader