Added a cli infrastructure

CliTool is a base class for command-line interface tools (such as the plugin manager and potentially others). It supports the following:
  - single or multi command tool
  - help printing infrastructure (based on help files)
  - consistent mechanism of parsing arguments (based on commons-cli lib)
  - separation of argument parsing and command execution (for easier unit testing)
  - terminal abstraction (will use System.console() when available)
Is this still fast, when we have a packaged application? Does `getResourceAsStream()` need to read all classpath jars, until it finds a corresponding file? We should make sure here that response times for command line tools are crazy fast.