GEOMESA-209 - Identifying unique GeoHash sub-strings in a polygon is both 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.
Refactored based on reviewer comments; also includes some performance enhancements.
GEOMESA-220 Explain does not handle println well
Merge branch 'fcr_geohashsubstrings' of github.com:locationtech/geomesa into fcr_IDL_query_tests
GEOMESA-215 GeoMesa query should be exclusive of temporal filter date bounds for BEGIN, AFTER

* Partitions temporal predicates out and passes them to the STII/AIFI/IndexIterator.
* Adds special handling for DWithin.  (More special cases will be produced as we move away from FilterToAccumulo.)
Thanks to Hunter Provyn for providing the unit tests in FeatureWritersTest.scala.
Added  to the density-iterator tests.
Merge branch 'fcr_geohashsubstrings' of github.com:locationtech/geomesa into fcr_IDL_query_tests
GEOMESA-222 Accumulo Mini Cluster for local integration testing
GEOMESA-210 GEOMESA-61 setting default shards to the number of tservers; adding configuration for number of threads; adding index schema builder; removing mapreduce data store; adding trace logging in query planning
JNH
Merge remote-tracking branch 'origin/accumulo1.5.x/1.x' into fcr_IDL_query_tests
shrunk BBOX to not blow up heap space