GEOMESA-240 Re-enable explainQuery

* The explainQuery function was disabled. This pr adds back an explainQuery function to the
 AccumuloFeatureReader class.
* Additional planning time information has been added.

An archetypal invocation now looks like

import org.geotools.data._
import geomesa.core.filter.TestFilters._
import org.geotools.filter.text.ecql.ECQL

val aparams = Map(
  "instanceId" -> "INSTANCE_ID",
   "zookeepers" -> "ZOOKEEPERS",
   "user" -> "USERNAME",
   "password"-> new String("PASSWORD"),
   "auths"-> "AUTHS",
   "tableName"-> "TABLE_NAME",
   "useMapReduce" -> "false")

val ds = DataStoreFinder.getDataStore(aparams)

val q = new Query()
val t = Transaction.AUTO_COMMIT
q.setTypeName("gdelt")

val afr = ds.getFeatureReader(q, t).asInstanceOf[AccumuloFeatureReader]

afr.explainQuery(q)

val fs = "INTERSECTS(geom, POLYGON ((41 28, 42 28, 42 29, 41 29, 41 28)))"
val f = ECQL.toFilter(fs)
q.setFilter(f)

afr.explainQuery(q)
GEOMESA-236 GeoServer Accumulo Coverage Store password should be hidden
GEOMESA-239 Change dependencies for Eclipse IP
GEOMESA-237 Convert AvroSimpleFeature to WKB

* Use WKB (Well Known Binary) instead of WKT (Well Known Text) for AvroSimpleFeature
* Results in 20x speedup on serialization/deserialization
GEOMESA-238 Users should be able to use Spark on GeoMesa data

* Added utility methods for initializing a Spark RDD on data stored in GeoMesa.
GEOMESA-241 refactoring geo pages for new table layouts, adding attribute index page
GEOMESA-250 ExplainQuery can be cut short.

There seem to be two problems:
* The variable 'cur' in CloseableIterator needs to be set upfront.
* Naming the 'bind' in CloseableIterator flatMap causes confusion between the compiler and the developer.
GEOMESA-167 adding ingest rates to geoserver UI