Amended pull request.

Moved MinionsController and ManualMinionsController to the orchestrator module.
Fixed Orchestrator log on status page.
Refactored InstanceListener and ZooKeeperInstanceListener.

Added InstanceMonitor interface and made ZooKeeperInstanceListener (renamed to ZooKeeperInstanceMonitor) implement it instead of InstanceListener. Repurposed InstanceListener interface to be a listener that can be added to the monitor to be notified of events. Orchestrator now simply adds a custom listener instead of creating an anonymous extension of ZooKeeperInstanceListener and implementing the onInstance* methods.
Replaced spaces with tabs for indentation.
Updated MinionsController interface.

Added close() method, removed endpoints parameter from stopMinions() call (controller should not know about endpoints). Updated ManualMinionsController, no need for @Component and @Service for now.
Added Utils class to Orchestrator and moved utility methods there.
Implemented CrankstartMinionsController.

CrankstartMinionsController is a MinionsController that uses Crankstart to start/stop Minions. If the Orchestrator is started with Crankstart, the CrankstartConstants.CRANKSTART_JAR_PATH property would point to the Crankstart JAR file, which the Orchestrator can use to initialize CrankstartMinionsController.
Switched ModProxyConfigTransitioner to also use Commons Exec.

Probably better to use Commons Exec than handling raw Process. This also makes it possible for ConfigTransitioner to be Closeable: ModProxyConfigTransitioner should stop the proxy on close.
Renamed MinionsController -> MinionController.
Fixed DefaultOrchestrator's log appender.

DefaultOrchestrator's log appender now appends logs for all the major components of Orchestrator: itself, instance monitor, git file monitor, minion controller, and config transitioner.
Fixed DefaultOrchestrator's config logic.

Both running config and target config are now updated within the tryTransition() method.
minionsController -> minionController in DefaultOrchestrator + minor comments.
Fixed logs of ZooKeeperInstanceMonitor.

In particular, listeners should be notified after the log message.
Fixed ConfigTransitioner: instances -> endpoints.

ConfigTransitioner does not deal with Instance objects, only with strings representing endpoints.
Updated Instance.toString().
Renamed "running config" to "active config".