Initial sbt-as-a-server prototype with full project loading and useless message handling.
First cut at pulling System.out/System.err in so we get log messages.
Very bad and gunky implementation of prototype client which can log in and listen to log events/make useless requests.
Adding disconnection handling to the server.  Also creating an attempt to pushing the execution engine against an immutable State for the server, as it is for the build itself.
Prototype really lame client for talking to sbt protocol.
Fix issue with multiple clients connecting at once.  Autogenerate launcher properties.
Ensure server shutsdown after a timeout with no clients.
Fix issue with multiple client registrations for events.
Starting server engine, updates for 0.13 PR merge.
Use sbt's command processing loop instead of our own.  We can now load + execut sbt commands
in our server process.  We even send events.   The only issue, currently, is that executing
commands does not ack when they are complete.
Removing useless volatiles.
Removing useless debugging statement now.
Remove System.out.printlns in favor of log messages.
Fixes for nicer client usage.

* Clients always sent a Started message when the server can handle requests (possibly immediately)
* Attempt to grab listeners during startup, for folks who want messages immediately.
Handle failure on example client.
Now we can execute more than one command!

* Update to use sbt 0.13.2-M1 release
* Hack the sbt version into AppConfiguration so sbt thinks it's sbt.
* Add post-processing commands that fire 'done' notifications.
* Attempt to add an error handler for failed commands.
Fix issue with error handling of commands.
Adding test events back to execution.
Add client side wiring for watching build structure changes.
BuildStructureChanged event now sent from server.