GEOMESA-198 Fixing AttributeIndexFilteringIterator

* Fixed bug in AttributeIndexFilteringIterator that caused endless loop
* Simplified class to extend Filter instead of custom implementation
GEOMESA-176 Implement an 'explain' query feature.

Adds an 'explainQuery' feature.

As a rough example/guide try this in the Maven Scala console (i.e., run 'mvn scala:console -pl geomesa-core'):

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]
val is = afr.indexSchema

is.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)

is.explainQuery(q)
GEOMESA-118 Implement handling for more complex geometric filter

* Pushes geometric ECQL filters into the STII/IndexIterator.
 This enables improved handling for other topological predicates along with conjunctions.
GEOMESA-203 Upgrade joda-time to version 2.3

This is to streamline the IP review by the Eclipse Foundation.
It includes upgrading joda-convert to 1.6, the most recent.
GEOMESA-135 Convert ehCache to Guava cache

Removed ehCache from the DeDuplicatingIterator, as well as references to ehCache in the pom files, and replaced with Guava cache.
Removed jta dependency, fixed cache logic, and added 2 small tests
GEOMESA-206 Update and improve README.md