Added filtering framework

We now offer map and fold, and filter seems like it would be welcome at the
party too. bs_filter() takes a filtering operation which can be used to remove
unwanted bytes from the stream.