First steps to factoring out 0.12 specific code in remote-controller.

* Migrate common launching code into basic sbt process launcher
* Add hooks for different props/controller based on sbt version
* Add sbt version detection (may need help).
* ProcessActor now directly takes a ProcessBuilder
* Attempt at some cleanup.


Review by @havocp