Commit for comments for the KNN search.

This represents the core of the KNN search, but there are still some outstanding items:

1) More unit tests are needed, starting with tests of KNNQuery itself. This is the top priority.
2) Replacement of SomeGeoHashes: a "touching" GeoHash generator needs to replace the BoundingBoxGeoHashIterator.
   Also, distances need to be cached and switched over to geodetic calculations.
3) The NearestNeighbor SimpleFeature PriorityQueue needs to be bounded to hold "k" elements only.
4) Distance calculations for SimpleFeatures should be done via transforms instead of client-side.
5) A KNN iterator which does the NearestNeighbor sorting and bounding  server-side could then be introduced.
Yes, the KNN process needs a good suite of tests. 

The tricky bit here is that each new query run by KNN will not get points in increasing distance, but the GeoHashes should be increasing in distance, at least in minimum distance. 

The idea was that once you've found k out to a certain distance, there is no need to hit geohashes further out, where "further out" == the minimum distance is larger than the kth neighbor. But you can play that trick multiple times as you find more  KNN, so where to mutate state is tricky.