Copy static factory methods from HashCodes to HashCode.
Deprecate the old methods in HashCodes.
Update usages in com/google/common/hash to use new methods.
Move the tests from HashCodesTest to HashCodeTest.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50448177
Add HashCode.fromString(String).
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50449901
Update javadocs for HashCode.fromString().
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50463690
Add fragment escaper.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50515561
Fix small LocalCacheTest bug
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50580565
MOE insert public for com.google.common.hash.HashCodes.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50582094
Extract CollectPreconditions with some common checks.
Use those checks more widely, especially checkRemove.
More importantly, use checkEntryNotNull to include the key and value in "null key/value" NPEs of ImmutableMultimap and GWT-only ImmutableMap/ImmutableBiMap.
(Non-GWT ImmutableMap/ImmutableBiMap already got this right.)
Plus, make ImmutableMap.copyOf(enumMap) and ImmutableMultimap.put(Entry) resilient to entries whose keys or values become null midway through construction.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50631776
Move hashCode() implementation into abstract parent class instead of
subclasses.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50632699
Service rewrite!  Add new methods to service so that we can move users away from the confusing ListenableFuture based methods.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50634823
Fix division bug in HashCode.writeBytesTo()
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50635321
Fix a race condition in
AbstractServiceTest#testListenerDoesntDeadlockOnStopAndWaitFromTerminated.

The race condition is triggered due to a slight difference in the behavior of
startAsync().awaitRunning() vs. startAndWait()

startAndWait() would return RUNNING even if the service in question was
already TERMINATED whereas awaitRunning() will throw if the state is
TERMINATED when it is called.

The service in question here very quickly transitions from
STARTING->RUNNING->TERMINATED so depending on thread timing awaitRunning
could observe the service as RUNNING or as TERMINATED, the fix is to have the
service shutdown be triggered by a call to stop rather than happening
automatically.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50639385
This CL fixes invalid self-referential collection operations (c.addAll(c), c.removeAll(c), c.retainAll(c), and c.containsAll(c)). Such cases are either no-ops, undefined behavior, or unnecessarily complicated, and often reveal bugs. This an automated fix using error-prone.

We intend to make this a compilation error in Google's Java compiler, so it is necessary to fix existing occurrences first to avoid breaking builds.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50739321
Actually fix tearDown handling that was made worse in CL 50062431.
- The behavior before that CL was to ignore exceptions thrown by tearDown.
- The behavior currently is to exceptions thrown by tearDown unless there was another exception thrown by the test itself, in which case we overwrite the test's exception with the tearDown's exception.
- The new behavior is to respect the exception from tearDown unless an exception from the test itself exists to override it. This matches the JUnit behavior. Really.

This time, I've added (internal-only) tests.
I also improved some error logging in the tests while I was debugging.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50778046
Small simplifications to LocalCache to extend AbstractReferenceEntry where possible.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50778090
Add documentation that SetMultimap and mutable values don't get along, as per Guava issue 357.  https://code.google.com/p/guava-libraries/issues/detail?id=357
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50924610
Fix a wrong description in CharMatcher.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50956932
Ensure that CharMatcher.precomputed() doesn't change description.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50957795
Add "text/tab-separated-values; charset=utf-8" as constant MediaType.TSV_UTF_8
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50964188