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.
Another approach would be to pull in the three private fu_stream_blksize (and it's dependent  methods) as well, then we aren't at risk of falling out of synch when this private method changes inside ruby.