The grand Guice injection fixup

This branch will get all the Guice changes to make DI work correctly and eliminate all the race conditions and have the startup and shutdown of the service controlled by the dropwizard framework.

The first patch is fixing all the lazy injection places, add explicit injection for everything that is referenced through Guice and uses eager injection everywhere.
Maybe slave isn't the right word, but typically we run multiple Singularity instances behind a load balancer. Any of these instances can answer requests, but only the leader connects to Mesos and registers a SchedulerDriver. Therefore, any action which requires either driver API calls or the driver lock (in order to guarantee we don't end up with inconsistent state) can only happen on the leader.