Make KNOWN_ORDER significant for Map tests.
(There are no direct Map tests using KNOWN_ORDER, but we now pass KNOWN_ORDER on to our keySet, entrySet, and values sub-suites.)
Start using KNOWN_ORDER in various tests, including automatically in all SortedMap and SortedSet tests.
Introduce TestStringSortedMapGenerator to save us from having to write "sort(insertionOrder, Helpers.<String, String>entryComparator(Ordering.natural().nullsFirst()));" as an order() implementation over and over.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28780249
Make MapTestSuiteBuilder (also BiMapTestSuiteBuilder) work under GWT, and then use it there (as well as the non-GWT ImmutableSortedMapTest, where it should have been used already).

This primarily involves making more derived suites (e.g., keySet(), values(), entrySet()) work under GWT.
The GWT test suites are produced with code generation, so, in order to work under GWT, a derived suite must be recognized by GwtTestSuiteGenerator so that we know how to generate code for it.
I've generalized the existing DerivedTestIteratorGenerator support to support any DerivedGenerator (each of which should have a one-arg constructor accepting its inner generator as an argument).

Now that we run MapTestSuiteBuilder tests, we can remove the individual, manually generated "derived" test suites.

The MapTestSuiteBuilder tests did encounter a couple problems:
- I had to move NullsBeforeB from MultisetCollectionTest to Helpers so that it could be used more widely (for reasons that its Javadoc hopefully makes clear).  (This was a problem in the test, not the production code.)
- I had to support null queries in the GWT ImmutableSortedMap.  (While I was there, I also prevented us from double-wrapping any submaps with unmodifiableSortedSet, since we know that the original map was already unmodifiable.  This is a tiny optimization.)  The null-query behavior was a "bug," albeit a very small one.

TODO(cpovirk): get the SortedMap tests running under GWT
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28784540
Make ImmutableSortedMap implement NavigableMap.
From Louis: http://codereview.appspot.com/5606043/
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28789345
Use murmur32 for hashing when coercing IPv6 addresses into IPv4 addresses.
Although murmur32 is slightly slower, it has fewer collisions (on a sample dataset) and is licensed under the MIT License.
The hash was last changed on 2010/12/06: []
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28793594
Bunch of small style cleanups/code cleanups to InetAddresses.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28795487
Add FluentIterable.toImmutableSortedSet(Comparator)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28795758
Make SortedMapTestSuiteBuilder work under GWT.
There is some restructuring and additions of trivial getters in the builders, but the only real code changes are in GwtTestSuiteGenerator (and the use in ImmutableSortedMapTestSuite).
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=28819226
Merge remote branch 'upstream/master'