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.
These vals got me to look into the comment above.  Perhaps BitPrefixes could refactored as a case class with a companion object?  The vals would definitely be at home in the object.