WIP: GEOMESA 306, 305, 296, 295

This is a WIP branch for improvements to ingest, addressing some of the comments from last weeks meeting. Please post comments (but note that the readme will need to updated, I will do this soon). 
* Split off ingest from Tools class, to ensure case class does not reach max size.
* Updated geomesa bash script to properly pipe to ingest, and not split inputs containing spaces (G-306).
* Allowed User to optionally hash feature IDs.
* Added optional arguments for: maxShard, auths, visibilities, and indexSchemaformat
* Made changes to how successes vs failures are counted and logged in SVIngest
* Made checks to ensure maxShard and indexschemaformat could not be both set.
For great justice, consider factoring out this little password getting code into a tiny trait:
```
trait GetPassword {
  def password(s: String) = s match {
 case pw: String => pw
 case _ =>
 val standardIn = System.console()
 print("Password> ")
 standardIn.readPassword().mkString
 }
```