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.
Yes and I do not have a good answer. Generally speaking, stateful startup and shutdown are problematic because it is entirely possible that a service simply crashes and therefore tears down its state in a totally uncontrolled fashion. I do not think that this is a big issue for Singularity. If it is, there are ways to express dependencies for startup and shutdown but I would probably suggest to not implement those until we are very sure that we need them.