GEOMESA-265, 264, 263 Create a tools wrapper shell script, Make output for `list` command line tool prettier, and StatsWriter Exception when exporting

This adds a wrapper shell script to the existing geomesa-tools and changes up a lot
of the way things used to work on geomesa-tools. 

* First, --help is completely changed and works on individual commands, rather than just dumping the whole usage text. 
* `describe` is a new feature that describes the attributes on individual features. 
* `list` now only lists the names of features on a catalog table. 
* Almost every flag has a single character option. 
* Accumulo username and password can be specified with -u/--username and -p/--password
on the command line. 
* One can also only give a username and geomesa-tools will give an additional prompt for password, therefore not putting it in the shell history. 
* A geomesa-test-script.sh is included under /bin to run every command in a chain, just to ensure things are working on your individual machine. You will have to customize this script with the correct username, password, catalog table, feature name, and spec. 
* The README has been greatly updated to reflect the changes made through this PR. 
* Exception handling with most commands. If a feature/catalog/other stuff is typed incorrectly or prevents something from happening, the exception should be caught in most places and dealt with in a quieter way.
* Finally, many stylistic changes were made from a meeting with the Geomesa Dev team on this past Friday, with more plans to add to geomesa-tools.
This is still slightly wrong - there are 3 scenarios:
Date - the time-indexed date will be set in SimpleFeatureType.getUserData(SF_PROPERTY_START_TIME)
Geom - the geo-indexed geom will be marked with a * in the specification string (e.g. *geom:Point), but the 'index' flag will still be false
others - i'm not sure if the logic you have here will work or not. usually we check that the spec string has 'field:type:index=true'