GEOMESA-494 GEOMESA-523 GEOMESA-525 Replace scopt with jcommander

* Replaced scopt with jCommander
* Refactored arguments into common classes
* logged to stderr instead of stdout to support redirecting of ouput (removed stdout flag) (GEOMESA-523)
* added "json" in addition to "geojson format"
* updated readme
* Bundled SLF4j with assembly (GEOMESA-525)
yeah i think this will work fine:
```
val kvArgs = (requiredKvArgs ++ optionalKvArgs).flatMap { case (k,v) => List(s"--$k", v) }
Args(singleArgs ++ kvArgs)
```