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.
Isn't it potentially problematic that we had ordered shutdown of these classes but now we don't? For example, shutting down curator and then shutting down the leader latch?