GEOMESA-457 Optimize sorting of results

* Sorts results based on SortBy parameters
GEOMESA-428 checking for SRS when determining axis order in binary output format

* adding default dtg from schema if not specified in request
* ensuring 24 byte encodings all are 24 bytes
[maven-release-plugin] prepare release geomesa-accumulo1.5-1.0.0-rc.1
[maven-release-plugin] prepare for next development iteration
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
GEOMESA-459 CloseableIterator cannot close

resolved error in CI.empty; implemented tests for CI.empty
GEOMESA-453 ClosableIterator flatMap may end prematurely

refactored ciFlatMap method to use an internal tail-recursive helper, and added a test that smashes the stack with the old code.
GEOMESA-469 Use scala's parser combinators to parse simple feature type specs in SimpleFeatureTypes

SimpleFeatureType specs are parsed using proper parser combinators.  The format of
Map[A][B] has been changed to Map[A,B] and type encoding code has been collected in
SimpleFeatureTypes
GEOMESA-444 Implement TimeSnap class
GEOMESA-461 Allow configurable record table splits

* TableSplitter interface can be defined by users
* getSplits method returns the desired splits for the records table
* Added configuration of splitter in the SimpleFeatureType spec
GEOMESA-477 Optimize imports and update copyright

Updated copyrights to 2014.  Optimized imports for
all source files.
GEOMESA-480 Add release repository to distributionManagement
GEOMESA-482 fixing geoserver namespace issues

* Implementing namespace aware methods in AccumuloDataStore, FeatureStore, FeatureSource
* Allowing complex namespaces in SimpleFeatureTypes
GEOMESA-483 Created SFT Builder

Users can create SFT spec strings programatically
Allows setting default DTG and TableSplitter
GEOMESA-418 Time-enabled layer previews are not handled optimally

* Recognizing binary inequality filters involving canonical time variable as temporal filters and handling them like before/after.
* allowing before/after and inequality operators to take named field on left or right of operator
* test verifies that < and <= are treated like BEFORE; > and >= are treated like AFTER
* moved filter typeclasses to utils module and implemented ops
* warn-logging errors on STIdxStrategy.execute rather than letting geotools eat them
* modifying temporalFilters to properly capture temporal filters with the temporal attribute on the right
GEOMESA-485 Geometries are being written to the attribute index

Filter out geometry descriptors from getSecondaryIndexedAttributes
GEOMESA-491 Add ability for Geoserver plugin to scan multiple columns

Changes plugin wms layer configurations to allow for a list of columns to scan
GEOMESA-488, 492 Understand and remove use of jai_core, CoverageReader's VersioningIterator's random name string isn't created properly

Excluded jai_core and removed usages of jai_core functionality from geomesa-plugin. Also
fixed an issue with a random name not being properly generated for VersioningIterator
in CoverageReader
GEOMESA-443 Test TimeSnap and GridSnap corner cases

* Adds tests for TimeSnap class.
* Adds corner case test for GridSnap and addresses a corner case.
GEOMESA-445 Create Temporal Density Iterator