renamed ReceiveCache to BufferList; and add Take method to BufferSegmentReader
renamed BufferSegmentReader to BufferListReader; renamed BufferSegmentStream to BufferListStream;