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
add TASK_FINISHED_NON_SCHEDULED_REQUEST

new type of email configuration for a when a task finishes, but isn’t
part of a scheduled request. Helps look for tasks which are exiting
with the wrong status codes.
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.
customizable nav color
exclude log4j from zookeeper dependency in SingularityClient
Merge pull request #262 from HubSpot/nav-color

customizable nav color
LeaderOnlyPollers should only run when the Mesos Scheduler is running, too.
SingularityAbort now shuts down through the Dropwizard Lifecycle.

This gives the rest of the code a shot at doing a clean shutdown.
abort cleanup and minor style fixes
remove unnecessary mesosScheduler variable