GEOMESA-449 adding support for lists and maps in simple feature attributes

* Using SimpleFeatureTypes.createType(), you can specify a list or map:
    * names:List[String]:index=true
    * weights:Map[String][Double]:index=false

* Attribute values will be instances of java.util.List or java.util.Map when retrieved

* Lists can be queried through CQL which will execute against the individual items in the list
    * Can use standard comparison operators
    * Given the attribute names=List('bill', 'bob', 'henry') =>
        * (names = 'bob') will match
        * (names < 'joe') will match
        * (names > 'joe') will match
        * (names > 'mark') will not match

* Maps can not be queried, but can be stored and retrieved
You can use ```scala.reflect.runtime.universe``` to clean up this syntax a bit.  See some examples here:

https://github.com/ccri/whiptail/blob/master/tracker/src/main/scala/com/ccri/whiptail/tracker/CaseToSimpleFeature.scala#L42