Handle errors calling start or pull in BRS.

- Calling start behaves as before, but we are more explicit about letting errors bubble.
- Calling pull traps errors, putting the stream into an error state.

Work toward #78. Leaving abort alone for now until #67 is taken care of and also there's some thinking in #78 about some of its subtleties.