Fix bunzip2_stream()

This fixes #815; `bunzip2_stream()` is now not horribly broken in a way that only manifests in large-ish files.

Also made `buffer_iterator_to_line_iterator()` more efficient. The old version would yield at most one line per chunk, which means the buffer would grow without bound if it received chunks with an average of more than one newline.

Filed some issues as reminders to make some small improvements in v0.5.0: #818, #819.