Provide type-safe HashCode methods for Content-MD5

This works more naturally with Guava Hashing methods and immutability
provides better safety guarantees.  Also deprecate existing byte[]
methods.
`HashCode` needs to percolate through all the interfaces but I scoped this out of this commit since it is contagious.