GEOMESA-281 Create a strategy decider function

refactored to create a Decider that decides on Strategy (attribute index, spatiotemporal index or id index)
Strategy executes the query
this will be the framework upon which more complicated cost analysis of query planning is based
For even more pith, let's refactor the refactoring.

1.  getStrategy should take a String instead of a Filter.
2.  I looked it up, and there's a little better way to do the match:
```
getStrategy must beAnInstanceOf[StrategyType] 
```