Added default-value auto generation to NullPointerTester, for interfaces (and
got rid of the manual registration of Function, Predicate and BinaryPredicate).

To support generics correctly, I added common/reflect as dependency (which might
be
the biggest issue).

Along the way, I needed the dynamic proxy to handler equals/hashCode/toString.

Searched around for similar pattern and found about 30 clients that are rolling
their own version:
[]
So I added AbstractInvocationHandler that deals with this. Since NPT needs it, I
went ahead and just made it @Beta and apache and everything. If we don't think
it's worth releasing, I can move it to the common/testing package and make it
package-private.

Tested:
[][]
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28462273
Make ImmutableSortedSet implement NavigableSet.
(Under GWT, it still implements only SortedSet.)
From Louis: http://codereview.appspot.com/5590046/

Also:
Add suite-builder tests for ContiguousSet headSet/tailSet/subSet, and make the existing tests run the NavigableSet suite instead of just the Set suite (plus, do the same for some other ImmutableSortedSet tests).
These reveal that ContiguousSet has the legal but somewhat antisocial behavior of throwing IllegalArgumentException for inputs outside its "restricted range" and the probably illegal but unlikely to matter behavior of throwing IAE for subSet(x, false, x, false); change both.
Add GWT suite-builder tests for ContiguousSet, and make the existing GWT ImmutableSortedSet tests run the SortedSet suite (plus, add some missing ALLOWS_NULL_QUERIES features to the existing ImmutableSet tests).
To allow those tests to cover the SortedSet methods, separate SortedSetTestSuiteBuilder out from NavigableSetTestSuiteBuilder, include splitting SetNavigationTester (and renaming MapNavigationTester, too, to keep the non-GWT glob simple).
Along the way, promote TestIntegerSetGenerator and its SampleElements out of ContiguousSetNonGwtTest. (I think that this may have been necessary for GWT compatibility, but I forget.)
Finally, some small cleanup:
- Make less use of the scary ImmutableSortedSet(Comparator) constructor, and add warnings to its documentation. (A similar constructor has produced GWT bugs in ImmutableList subclasses, which I plan to look at next.)
- Make /* @Override */ methods use @Override (if possible), or strip them with @GwtIncompatible (if not needed under GWT).
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28502805
Fix some typos in MediaType javadocs and error messages.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28512819
Re-word Beta comment to work around MOE bug that strips anything with the word [] in it.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28517528
Widen the default-accepting methods of Itera*s.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28577590
Applied missing Apache license stuff to the files I forgot in previous round (oops)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28579696
Remove completely unnecessary type parameter from Iterators.skip().
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28598708
Strip references to Google-internal Escape module from Guava.
Add createConstant and createConstantUtf8 static methods. This avoids a lot of the weird initiaization ordering issues and allows us to consistently use create everywhere instead of having to rely on the constructor in some places.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28617806
Clarify the impact of having a synchronous refresh implementation.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28619483
- have Iterables return FluentIterables
- allow FluentIterables to be subclassed
- withdraw toImmutableSortedList from Guava (will be restored as toSortedImmutableList)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28621161
Add Apache header to BloomFilterStrategies
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28651552
Fix javadoc of getRawType(). The old one wasn't accurate.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28652466
Strip ImmutableSortedMultiset from package-info, and un-strip ForwardingNavigable*.
Strip FluentIterable getOnlyElement and append methods.
Annotate TypeParameter as @Beta, and add @since.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28658296
Add more null values to NullValues, and rename to ArbitraryInstances.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28658308
Make Collections2.orderedPermutations work under GWT again.
To do so, make the minimal (I think) subset of common.math required work under GWT.
This requires suppressing a few cases in the divide() tests due to GWT's non-compliant int implementation (which, for example, occasionally believes that 2147483648 is a valid int).
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28659665
Fix FinalizableReferenceQueue class leak which prevented the
ClassLoader that loaded FinalizableReferenceQueue from being
garbage-collected subsequently. This is Guava issue
http://code.google.com/p/guava-libraries/issues/detail?id=92
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28624233
Fix typo in Javadoc of DiscreteDomain.distance.
Fix misleading UncheckedExecutionException Javadoc.
Provide dangerous listenInPoolThread that accepts an Executor.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28660317
Created compact, special-case Unicode whitespace CharMatcher.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28661107
Adds:
-ByteStreams#hash(InputSupplier, HashFunction) -> HashCode
-Files#hash(File, HashFunction) -> HashCode
Deprecates:
-ByteStreams#getDigest(InputSupplier, MessageDigest) -> byte[]
-Files#getDigest(File, MessageDigest) -> byte[]
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28662456