GEOMESA-388 AttributeIdxStrategy was losing Query hints

* Restored Query hints (and other info) via a deep copy.
* Corrected and expanded the AIFITest.  (Thanks Andrew H.!)
GEOMESA-387 Handles multiple clients creating new schema

* Logs TableExistsExceptions rather than allowing them to bubble up
GEOMESA-384 removing commons-net 2.2 in favor of 3.3

fixing comments in pom
excluding maven scm jars
removing jxpath
fixing version of objenesis
GEOMESA-389 Refactor SimpleFeatureEncoder

Separated encoder trait from decoder trait
GEOMESA-357 Cache SimpleFeatureBuilders

* Switched to using ThreadLocal SimpleFeatureBuilders for IndexEntryDecoder use.
GEOMESA-404 Fixed typo
GEOMESA-383 attribute index only iterator
GEOMESA-405, GEOMESA-406 fixing thread-safety and split issues in AccumuloDataStore
GEOMESA-403 fixing dtg,geom projection query
GEOMESA-352 fix for stats timing
GEOMESA-398 Fix GeoMesa script classpath issue

* Tweaked shell script.
GEOMESA-422 Closing Accumulo writer in finally block in StatWriter to prevent leaking open writers
GEOMESA-423 fixing shared connectors across stat writers

* keeping connector with each stat
* propagating errors in stat writer thread so that executor service will stop
GEOMESA-287,GEOMESA-303 Handle transformations in command line export Investigate export behavior when exporting with -a id

To test this PR, sample commands can be found at https://geomesa.atlassian.net/browse/GEOMESA-287.
GEOMESA-419 Refactor metadata out of AccumuloDataStore

* Created GeoMesaMetadata trait and Accumulo implementation
* Moved metadata methods into it
* Used concept of key/value store for metadata as String,String instead of Text,String
GEOMESA-346 removing hsql epsg for hard-coded 4326
GEOMESA-451 GeoMesa shell should allow for sharing tables

* Adds flags to the command line for table sharing.
* Addresses classpath issues for MapReduce ingest and attribute index job.
GEOMESA-432 Improved GeoMesa Tools script

This PR addresses some usability issues with the geomesa shell script. Now environment variables
for hadoop and accumulo can be optionally set, and individual paths can be overridden by the user.
Also more informative messages are printed when certain variables are not set.

GEOMESA_HOME and GEOMESA_LIB are now set in function calls, "configure" still works and now should
print out what needs to be added to persist the configuration.
GEOMESA-456 Fixing WMS TIME parameters
GEOMESA-417 unique attribute process

* added WPS process to retrieve unique attributes
* cleaned up and standardized explain query output
* fixed typo in minicluster README, moved minicluster logs into logs/ folder
* adding option to sort by count