JCLOUDS-402: Allow Guava MediaType Content-Type

This promotes type-safety.  Keep the String interface for unknown
content types.
Remove BlobBuilder and Payloads.calculateMD5

Callers should instead explicitly set contentMD5, usually with the
results from Guava Hashing.md5(). This narrows the API and removes a
strange IOException from callers.  Further it removes a dangerous
rebuffering of arbitrarily-large non-repeatable Payloads.
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.