XD-375 Add tap destroy(delete) command
Added tap destroy shell command
Fixed tap undeploy
Made sure to undeploy the tap before delete
Fix destroyTap() method definition comment to read tap instead of stream
Added server-side logging of exceptions
Propagate errors up, normalize options names
XD-492: Change ResourceDeployer 'create' to 'save'
XD-477 Support pagination in list() commands
Merge pull request #122 from ericbottard/XD-477-Pagination

* ericbottard-XD-477-Pagination:
  XD-477 Support pagination in list() commands
Minor refactoring to reduce package tangling.

Moved BaseDefinition to 'core' and AbstractDeployer to 'stream'.
XD-437 Removed package tangles identified by Sonar.

Changes included:
* Moved abstract Deployer to the stream package because this is the only place it is used.  We probably want to create a deploy package and move all deploy based classes there.
* Moved Base Definition to core because its used by ResourceDefinition in the core package, and the ResourceDefinition is used by the streams package.

* The package tangles between streams.dsl and stream.dsl.ast were fairly extensive.  Specifically around  StreamConfigParser having use of the nodes in the ast package and the Nodes having use in the dsl package.  The relationship was fairly tight, so I merged the 2 back together.  The only option that came to mind is to create a interface for the StreamConfigParser, but I was concerned, that I would be creating a patch instead of a real fix.  We may want to revisit the package structure here.
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.
XD-538 - Develop infrastructure to enable testability of commands

* Add code to cleanly shutdown tomcat as taken from Tomcat unit tests - not used as still hangs on tomcat.stop()
* Force shutdown of tomcat using destroy method, log warning.
* When random port is requested, retrieve port that was selected by the system
* Destory web application contex in StreamServer stop to avoid reflection calls from clients of StreamServer that want to stop the server cleanly
* XDShell processes command line arguments --port and --host to configuration how to connect to XDAdmin on startup
* XDShell target command will throw an exception to indicate failure of the command.
* JobCommands and TapCommands return Table objectd for list command
* Update ReferenceDoc command that uses shell to take into account CommandLine class that is autowired
XD-499 Cron Jobs stop firing when a named trigger is created and deployed.

The issue was that after the trigger was created programmatically the code would refresh the context and that would clear the scheduler.
* The fix was to create the triggers as singletons.  Thus eliminating the need to refresh the context.
* Also did some code cleanup.
* Had to remove some commented code.
* Updated code to restore the original clarity offered by the original code in cases where a user tries to create a trigger with multiple types.
Merge Mark's changes into master
XD-499 refactored exactly-one-trigger validation