Fix Guice injection.

- Execute Guice injection at run, not init time.
- add missing c'tors for strict injection.
- Remove all autoconfig classes
- inject everything explicitly
- use a proper injected PropertyFilteringMessageBodyWriter
-  replace the moving of the metrics registry through the servlet context
   with a simple, injected Provider which gets bound by Guice. Use
   ObjectMapper and Environment to provide necessary context objects.
Some Guice fixes

- remove the ReflectionHelpers, not actually needed for the scan logic
- fix bad Name in the GuicePropertyFilteringMessageBodyWriter.
code review feedback
Guice fixes outside SingularityService.

- Make sure that Stage.PRODUCTION is used everywhere.
- MesosClient is a singleton.
Mark singleton objects as Singletons.
Rework Dropwizard guice integration

- factor out more dw specific code, make it testable.
- remove scan binding code
- add dw provider for ObjectMapper, needed for testing
- add ConfigurationAwareModule for dw support.
Split up guice modules

Smaller, package specific modules for testing.

Conflicts:
	SingularityService/src/main/java/com/hubspot/singularity/SingularityServiceModule.java
Change configuration to use primitives.
Fix Singularity lifecycle

- remove SingularityStartable and SingularityCloseable, replace with DW managed
- use only a single curator instance and get lifecycle right
- fix State Poller logic, replace with inner class
- factor out SMTP logic into sender and mailer
Fix unit tests

Make the SingularityTestModule to actually wire up all the code required and override
the mocked out pieces.
Small fixups

- get condition for hostname right.
- add missing migrations module to service
- replace provider reference with CuratorFramework
Make leader only pollers only run when the instance is the leader.
abort cleanup and minor style fixes
remove unnecessary mesosScheduler variable
Merge branch 'guice-changes' into hs_staging

Conflicts:
	SingularityExecutorCleanup/src/main/java/com/hubspot/singularity/executor/cleanup/SingularityExecutorCleanupRunner.java
	SingularityMesosClient/src/main/java/com/hubspot/mesos/client/MesosClient.java
	SingularityService/src/main/java/com/hubspot/singularity/SingularityService.java
	SingularityService/src/main/java/com/hubspot/singularity/SingularityServiceModule.java
remove warning