Add StreamBuffer

Maybe rename to StreamBufferedReader?  Basically: I needed a buffered reader that lets me take non-regular data from a socket and say
```dart
buffer = new StreamBuffer();
Socket.connect(host, port).pipe(buffer);
buffer.read(10).then((bytes) => dosomethingwith10bytes);
```