DDF-534: Make a common console field

This is the start of the cleanup process aimed at common commands options/arguments
and general approach.
DDF-534: Make some more parts common
DDF-534: Remove duplicated code in IngestCommand, and just use the version in the superclass.
DDF-534 Minor cleanups of pretty printing commands.
DDF-534 clean up the Ingest command

Includes some whitespace cleanups, and use of standard error printing.
DDF-534: remove method parameters that are the same as a property.
DDF-534: Fix some spelling errors
DDF-534: Make batch size and multithreading options common
DDF-534: Extend use of printErrorMessage

Resolves review comments from Matt Ramey.
DDF-534: Fix incorrect logger class name

Resolves review commit from Keith C. Wire.
DDF-543 Added download event listener
DDF-534: Move to common failure directory option.
DDF-572: Fixed cache hashing to allow for proper caching functionality
Merge pull request #11 from bradh/DDF-534

DDF-534 - Standardizing console commands.
Reviewed by: @mrmateo & @kcwire
DDF-572: Changed hash variable name (review comments)
DDF-572: Missed variable reference
DDF-568: Removed notification for "starting download", products already stored in cache, and will renotify on cache misses.
DDF-585: Persist product cache entries
DDF-581: Remove unused imports from ddf-catalog

Also fixes a couple of API documentation typos noticed along the way.
DDF-527  created PersistentStore API that hides usage of Solr and Cassandra