Remerge upstream

This PR simply gets us back inline with upstream. If/when upstream cuts a release incorporating the `Digest::Digest` changes we can consider moving back. Until then I'm just going to merge this in, cut a release, and use that for now.

@mastahyeti @rsanheim