Guice fixes outside SingularityService.

- Make sure that Stage.PRODUCTION is used everywhere.
- MesosClient is a singleton.
Mark singleton objects as Singletons.
Change configuration to use primitives.
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.
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.
jesos changes