Unify the server command used in probes.

* Create AbstractServerCommand
* Modify SetupSbtChild to extend AbstractServerCommand
* Attempt to remove sbt-specific informations from AbstractServerCommand.
move request handling out of generic and into specific.

* Create  abstract method where we can directly pattern match on requests.
* Update ui.Request to only care about handling the request.  Sending the response is backed in the handler.
* Update references to handleRequest to use the new mechanism.
Create a hook to install per-request shims in the probe code, rather than in the handlers.
Cleanup on handling and test listenening.

* Migrate handling to a proper pattern match and remove partial functions.
* Rename DefautlShims to be RequestHandler
* Add hooks for installing shim settings and ensure the abstract server calls them appropriately.
* Update test listener handling in sbt 0.13 to globally report test events regardless of task
* Begin cleanup of shim settings to pull uiContext off the plugin key.  helps enable us to
  port code into sbt 1.0 when ready.
Clean up atmos shim installation to be global.

* Atmos shims now drive their URI listeners off of uiContext
* Migrate shim installation to the global handler.
Move play shims into global hook.

* Move play shims to work off the uiContext key.
* remove play shims from RequestHandler.installShims
* Migrate play shims into installGlobalShims.
Remove unused installShims method.
Migrating sbt13 improvements back to sbt12 probe.
Merge pull request #51 from sbt/wip/sbt-rc-formal-api-additional-cleanups

Cleanups of probes using new API.