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.
GEOMESA-173 Extract avro features into its own subproject

Moved AvroSimpleFeature into its own subproject.  Implemented
AvroSimpleFeatureFactory to create AvroSimpleFeatures when
using SimpleFeatureBuilder.
Merge branch 'accumulo1.5.x/1.x' of github.com:locationtech/geomesa into f_set_default_dtg