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.
This is informative, but I think this belongs in the commit comment, and instead this should focus on yardoc for what our compare_stream is/does along with a note that we're overridding Ruby's implementation because of the encoding issue.