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.
Try this out
```
  implicit class EnrichedPQ[A](pq: mutable.PriorityQueue[A]) {
    @tailrec
    final def dequeuingFind(func: A => Boolean): Option[A] = {
      if (pq.isEmpty) None
      else {
        val theHead = pq.dequeue()
        if (func(theHead)) Option(theHead)
        else dequeuingFind(func)
      }
    }
  }
```