GEOMESA-101,GEOMESA-130 Performance Enhancements to Iterator Stack For Simple Queries

GEOMESA-101  Optimize geometry only queries in iterator
Add an IndexIterator to the iterator stack which is run in place of the SpatioTemporalIntersectingIterator AND the SimpleFeatureFilteringIterator.

The trigger for this action is a query which satisfies the following:
1) Defines a transform which projects ONLY the geometry and temporal attributes used in the GeoMesa index
2) Filters on only the geometry and temporal attributes, and can be distilled into the selection of a polygon and interval.

If the above requirements are met, the IndexIterator is run and a message indicating such is logged.

GEOMESA-130 Refactor SimpleFeatureFilteringIterator to skip decoding when the ECQL is Filter.INCLUDE
Add logic to IndexQueryPlanner that removes the SimpleFeatureFilteringIterator from the Iterator stack if:
1) No transform is defined.
2) The filter is defined on only the geometry and temporal attributes, and can be distilled into the selection of a polygon and interval.
3) The DensityIterator is not selected via setting of the DENSITY key in the Query.
GEOMESA-138 encode avrosimplefeature field name

Added unicode encoding of feature names and attribute names using Hex, with tests.
GEOMESA-147 loading default auth provider outside SPI process

Enables loading auth provider without the SPI Process.
GEOMESA-153 Remove class cast exception

* Avoids a class cast exception in a test.
GEOMESA-146 WPS import process for performance

* Implements a bulk WPS import process.
GEOMESA-122 Split OR filters into multiple queries

* Created a OrSplittingFilter Visitor which helps break apart a more complex Filter into pieces.
* Moved up the SelfClosingBatchScanner into core and implemented a basic CloseableIterator trait.
GEOMESA-131 Implemented get properties methods in AvroSimpleFeature

Tests included in AvroSimpleFeatureTest.scala
GEOMESA-149 Update GeoServer deployment instructions

* Includes commons-codec jar.
GEOMESA-133 SimpleFeature UserData lost in IndexQueryPlanner

Add functions to transfer the SimpleFeatureType UserData into and out of IteratorSettings, which would otherwise be lost
when passed to the Iterators via DataUtilities.encodeType
GEOMESA-151 allowing schema to not be set in datastore config for already created features
GEOMESA-155 fix for non-thread-safe map

Changed attributeNameLookUp into a HashMap with SynchronizedMap traits
GEOMESA-162 Turn off zookeeper.ClientCnxn DEBUG logging in REPL
GEOMESA-154 Remove commented out code present in MockAccumuloSource in IteratorTriggerTest
GEOMESA-170 - Two query corner cases

* Addressed degenerate intersections in the Geometry utils.
* Properly handles intervals in FilterToAccumulo.
GEOMESA-172 adding try around decoding simple features
GEOMESA-139 Remove inconsistent naming of temporal and geometry attributes in index

Standardize on using geom/dtg for index attributes:
geomesa_index_geometry   --> geom
geomesa_index_start_time --> dtg
and
geomesa_index_end_time   --> dtg_end_time

Reviewed by @anthonyccri
GEOMESA-150 On ingest, decomposition of multipoint geometry spanning anti-meridian should result in an equivalent MultiPolygon containing no polygons that span the anti-meridian

added method to decompose a Geometry that could cross the antemeridian in multiple places into one that does not cross the antemeridian
added tests
GEOMESA-121 Rewrite input filters with ORs at top.

* Implemented rewriting arbitrary filters in Disjunctive Normal Form.
  This means that any ORs have been 'bubbled up', and any NOTs have been 'pushed down'.

  The resulting filter tree has at most one OR at the very top.
  Additionally, each child of that OR is an AND or a base filter.

* Implemented property-based tests for the filter rewriting functionality using ScalaCheck.

Of note:  A clear optimization is that attribute filters need not be split up or otherwise mangled.
This issue is as https://geomesa.atlassian.net/browse/GEOMESA-171

* Refactored some of the test code to pull data generation.
GEOMESA-161 IDL query fixes

queries now support IDL spanning geoms (except for dwithin)
GEOMESA-164 Add GeoMesa Pages to GeoServer

* Adds Accumulo stats, HDFS stats and config.
* Implements ability to  initiate M/R jobs.