Lots of updates

* Added code coverage reporting
* Added unit tests for contexts and hooks (currently 67% code coverage) (fixes TIMOB-14516)
* Update readme with latest info
* Major refactor of argument parser (fixes TIMOB-11869 and TIMOB-13511)
* Integrated new prompt library (and ripped out old prompt library) (fixes TIMOB-11267, TIMOB-12283, TIMOB-13645, and TIMOB-13633)
* Added better error verbiage when there are no Titanium SDKs installed or selected (fixes TIMOB-12367)
* Added cli.progressBars config option and --no-progress-bars option to suppress progress bars (useful when piping output to another app)
* Added cli.ignoreDirs and cli.ignoreFiles options to globally control ignored dirs/files (fixes TIMOB-14398)
* Added JSDoc comments for nearly entire code base
* Added support for full i18n text files for command extended help
* Added support for --config-file <path> to load an arbitrary CLI config file
* Added support for --config {json-object} override of CLI config options
* Config file loading and saving improvements including better default value handling an a new get() helper function
* Added support for command "validate()" and "run()" functions to be async
* Added error message if trying to run the Titanium CLI on Node.js 0.6.x or older
* Better error handling for commands and hooks that have JavaScript syntax errors
* Added event hooks throughout the Titanium CLI
* Added CLI config option overrides for ALL non-Appcelerator 3rd party dependency applications (javac, keytool, ndk-build, security, etc)
* Updated hook API to be more Node-like
"config" command updates
* Fixed bug with "cli.prompt" and "cli.quiet" settings not saving properly (fixes TIMOB-13079 and TIMOB-13077)
* Added new "json-object" output type
* Updated command to use logger instead of console for output
* "info" command updates
    * Added support for Titanium SDK 3.2 and newer to use proper Android and iOS detection libraries
    * Added HAXM detection
    * Added node-appc version for Titanium CLI and each Titanium SDK 3.0 and newer
    * Now identifies which iOS certs are expired
    * Added installation issue reporting (requires selected Titanium SDK to be 3.2 or newer)
* "module" command updates
    * Fixed bug with incorrectly displaying installed modules (fixes TIMOB-13599)
* "plugin" command updates
    * Complete refactor
    * Properly reports all detected CLI plugins
    * Displays each plugins commands and hooks
* "sdk" command updates
    * Now checks if the Titanium SDK install location is writeable (fixes TIMOB-14026)
    * Added config option to all users to set the Titanium SDK install location (fixes TIMOB-11988)
    * Added ability to install a Titanium SDK by specifying the git hash of a CI build, a URL, or a local path to the zip file (fixes TIMOB-13593)
    * Removed "update" subcommand, now just use "install"
* "setup" command updates
    * Fixed bug when saving the settings (fixes TIMOB-12168 and TIMOB-12282)
    * Broke up setup wizard questions into categories