Streaming BitVector support

Squashed version of #4, which can be closed after this is merged.