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.
so I am not sure what you mean. The `SingularityMesosSchedulerDelegator` is passed to the pollers when `runActionOnPoll` is called. So each poller can decide whether it needs the scheduler driver to be running or not. Why would it be necessary to check `mesosScheduler.isRunning()` before calling this?