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.
no. One is sufficient. There is even a whole school of thinking (let's call it the "church of presto") where the annotations are deemed evil. Personally, I think the annotation helps someone reading the code to understand that a class is intended to be a singleton while the scope binding makes it explicit when reading the binding code. If it is confusing, I would probably suggest dropping the annotations and leave the scopes in place.