XD-526 modules now a project with classpath
XD-538 - Develop infrastructure to enable testability of commands
XD-538 - Develop infrastructure to enable testability of commands
  * Add starting/stopping of shell in abstract base class
  * Change port to be 8080
  * Not able to effectively stop tomcat, add Ignore to tests.
  * Change return value of list Stream to be Table
  * Update Table toString() to use UiUtils.
Refactor analytics, merging repo and service into one; Done for Counters
with REST exposition
XD-490 StreamDeployer to implement ResourceDeployer
XD-523: allow hyphens in module/stream names and polish
XD-500 In cases where a trigger does not exist upon Job Deployment, the Rest Interface needs to hand back a 404 exception vs. a 500 exception.  Also added constants for string values.
As a second note I thinned out the exception stack that is returned is more concise.

Per Code Review reduced the accessiblity the parser and messageSender of parent class.

XD-500 Return a 400 error instead of 404 if the named trigger associated with this job has not been created.

This is per Eric's update to the story.
* Updated code based on code review requests.
** Built error messages using String.format
** Used enum instead of String constants.

XD-500 Merge Conflict Resolved.

We reduced the visibility of this parser and messagesender so that only the abstract deployer can issue commands as a proxy.