GEOMESA-209 - Identifying unique GeoHash sub-strings in a polygon is bot...

...h slow and inaccurate

Added a few new unit tests, re-wrote the way we compute these
GeoHash sub-strings, and added a few utility methods to the
RectangleGeoHashIterator and the GeoHash.
Hmm...  as an amusement...
val s = Set("abc", "abd", "acc")
scala> s.flatMap(_.inits.drop(1).toList.map(_+"."))
res34: scala.collection.immutable.Set[String] = Set(ab., a., ., ac.)
The current solution handles padding to a given length, so that's probably better.