Allow direct read/write to/from io streams

We're working with some rather large bloom filters. They're large enough
that we may not be easily able to hold an extra copy or two in memory
for the conversion-to-JSON process.

Instead, we just want to be able to serialize a bloom filter straight to
a file stream. This required a change to the bitset package as well; I'm
submitting a separate pull request for that part.

Hopefully someone else may find this useful.