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.
Broken async multi-scan
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.
Merge remote-tracking branch 'origin/accumulo1.5.x/1.x' into 2ndaryindex

Conflicts:
	geomesa-core/src/main/scala/geomesa/core/index/IndexQueryPlanner.scala
AttributeIndexFiltering and BatchMultiScanner