Issue/master/pup 2946 filebucket encodings

This pull request adds an implementation of `#compare_stream` that will properly compare the binary values of two IO streams.
I think so, the overall amount of code is small, and since we're already altering the behavior of compare_stream, why leave it split across the two modules?