GEOMESA-353 Allow KNN to search using lower resolution GeoHashes

Increase range of allowable precisions in GeoHashSpiral.
GEOMESA-342 - Updated geomesa-tools log4j properties to stop making .log files
GEOMESA-341 Confirm that export-to-Shapefile works as expected

Shapefiles were being written without geometry information. This is because Geotools requires that
the geometry attribute be named the_geom. The geometry attribute now gets renamed for shapefile export only.
GEOMESA-333 Exclude 6 commons math3 files from our distribution
GEOMESA-350 Enable Bloom-filters for RowID for the records table
GEOMESA-338,266 Scalding Ingest and Date Time fix

* fixed date time cut issue
* added scalding map reduce ingest for csv/tsv data
* allow for ingest without datetime column/information
* skip header is no longer supported
* added java default time zone flag to ingest command in bash script
* improved error logging messages
* fixed milliseconds epoch
GEOMESA-349, 324 Create TAR-ball for distributing GeoMesa & GeoMesa tools' script should be filtered resource

Added a new module, geomesa-assemble, to take care of assembling GeoMesa into a tarball.
Also added symlinks in an Ant job for each library to handle different versions for the future.
GEOMESA-234 using lexicoders for secondary index values

* Using mango lexicoders for primitive types
* Moving some encoding/decoding logic into more consistent locations
* Updating attribute strategies for querying with lexicoders
GEOMESA-326 Refactor QueryStrategyDecider to examine AND children
GEOMESA-234 handling ranges in the attribute strategy
GEOMESA-331 - Attach IndexSchema to SFTs

* Refactored IndexSchemas to be on the SFTs rather than on accessing GeoMesa DataStores.
* Note that in the tests, for MockAccumulo, max shards is 0.
GEOMESA-311,312 Handle spatial-temporal and attribute filters and queries containing multiple attribute filters

Geo & attr gets a StIdxStrategy; attr & geo uses an AttrIdxStrategy. Added
additional filters to test this behavior. (jdk2pq's work)
If multiple attribute filters are indexable, use the first one as index and apply the rest as a filter (hunter-ccri)
In the future, a query optimizer will make more informed strategy decision.
added more tests, verifying that non-indexed temporal first won't automatically result in AttributeIndexStrategy,
another verifying that indexed temporal first will result in AttributeIndexStrategy
GEOMESA-313 Handle Id and * queries

When an ID predicate is present in the ECQL filter, a scan of the record table is performed, optionally with SimpleFeature Filtering,
regardless of the type of the other ECQL predicates.
GEOMESA-245 Allow multiple features to share a (set of) tables

* This pr adds a boolean hint to the UserData in a SFT.
* To share tables, we enforce restrictions on IndexSchemaFormat:
 Schema must start with a sharding partition and a constant string.
* Table code structure has been spun out.  A nascent structure of what it means to be a
 GeoMesa table is shown.
* Attribute like-eligibility has been enforced for the Attribute Index Strategy.
* A rough test for the AttributeIndexJob is provided.
GEOMESA-367 Upgrade spark version and remove spark-yarn from build
GEOMESA-356 adding binary viewer output type
GEOMESA-373,GEOMSA-374,GEOMESA-375,GEOMESA-376

* fixing plugin to remove unnecessary dependencies
* moving all logging to log4j & slf4j via scalalogging since mini accumulo (used in tests) must use log4j and not logback
* shading guava and apache commons projects into geomesa-plugin uber jar so that existing geoserver jars don't need to be removed
* upgrading geoserver to 2.5.2 to match geotools 11.2
GEOMESA-363 Remove HADOOP_CLIENT from geomesa-tools shell wrapper

This JAR isn't required to be on the GeoMesa-Tools classpath, so it has been removed to not cause further errors.
GEOMESA-359 Visibilities is not set in all feature tables
GEOMESA-364 AvroSimpleFeature Writer

Created a new AvroSimpleFeatureWriter to implement Avro DatumWriter. Changes include:
* AvroSimpleFeature objects no longer have expensive initialization
* SimpleFeatureEncoders now are parameterized by SimpleFeatureType
* LoadingCaches converted to instance variables for type mapping
* AvroSimpleFeatureWriter handles writing instead of AvroSimpleFeature.write() method
* Reuse DirectBinaryEncoder/DirectBinaryDecoder for performance (no buffering) on read/write
* Reuse ByteArrayOutputStreams on write
* Serialization method handles any SimpleFeature type (not just ASF)
* Use cached sft.indexOf() method instead of caching via LoadingCache