1) Initial commit of conversion to using Guice modules for bootstrapping.  Things don't actually completely work yet.
1) Initial commit of conversion to using Guice modules for bootstrapping.  Things don't actually completely work yet.
1) Make tests work and continue trying to make the DruidMaster start up with just Guice
1) Inject IndexingServiceClient
2) Switch all the DBI references to IDBI
1) Fix DatabaseSegmentManager so that Unit Test passes
1) Introduce Jetty 8
2) Fix up modules based on exceptions at startup for MasterMain
1) A bunch more changes to make things actually run.  Not quite done, but close!
1) Configuration fixes, slowly gonna make the MasterMain actually start up!
This conflict merge thing is really weird...

Merge branch 'guice' of github.com:metamx/druid into guice

Conflicts:
	client/src/main/java/com/metamx/druid/curator/discovery/DiscoveryModule.java
	client/src/main/java/com/metamx/druid/initialization/CuratorDiscoveryConfig.java
	client/src/main/java/com/metamx/druid/initialization/DruidNodeConfig.java
	client/src/main/java/com/metamx/druid/initialization/EmitterModule.java
	client/src/main/java/com/metamx/druid/initialization/HttpEmitterConfig.java
	client/src/main/java/com/metamx/druid/initialization/HttpEmitterModule.java
	client/src/main/java/com/metamx/druid/initialization/LogEmitterModule.java
	client/src/main/java/com/metamx/druid/initialization/ServiceDiscoveryConfig.java
	common/pom.xml
	common/src/main/java/com/metamx/druid/db/DbConnector.java
	common/src/main/java/com/metamx/druid/db/DbTablesConfig.java
	common/src/main/java/com/metamx/druid/guice/ConfigProvider.java
	common/src/main/java/com/metamx/druid/guice/DruidSecondaryModule.java
	common/src/main/java/com/metamx/druid/guice/JsonConfigProvider.java
	common/src/main/java/com/metamx/druid/guice/LifecycleModule.java
	common/src/main/java/com/metamx/druid/guice/LifecycleScope.java
	indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/TaskMasterLifecycle.java
	indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/http/IndexerCoordinatorNode.java
	indexing-service/src/main/java/com/metamx/druid/indexing/worker/executor/ExecutorNode.java
	indexing-service/src/main/java/com/metamx/druid/indexing/worker/http/WorkerNode.java
	pom.xml
	server/src/main/java/com/metamx/druid/db/DatabaseRuleManager.java
	server/src/main/java/com/metamx/druid/db/DatabaseRuleManagerConfig.java
	server/src/main/java/com/metamx/druid/db/DatabaseSegmentManager.java
	server/src/main/java/com/metamx/druid/db/DatabaseSegmentManagerConfig.java
	server/src/main/java/com/metamx/druid/guice/MasterModule.java
	server/src/main/java/com/metamx/druid/http/MasterMain.java
	server/src/main/java/com/metamx/druid/loading/cassandra/CassandraDataSegmentConfig.java
	server/src/main/java/com/metamx/druid/metrics/MetricsModule.java
1) Switch CuratorDiscoveryConfig to not be an abstract class 'cause Jackson cannot instantiate them
1) The Master compiles and runs with Guice bindings!!!!
2) The service discovery stuff really needs to be reworked.  It's unhappy now.
1) Move DbConnector into its own module
2) Move JacksonConfig stuff into its own module
3) Fix LogEmitterModule to inject properly with a Supplier<>
4) Set Guice to require explicit bindings, to protect from weirdness like was initially experienced with LoggingEmitterConfig
5) Master fires up and appears to all work with Guice!  Whoot!
1) Move the @Json and @Smile annotations to com.metamx.druid.guice.annotations
2) Changed ServiceAnnouncer to take a DruidNode object
3) Remove ServiceInstanceFactory interface and implementations
4) Add registrations to DiscoveryModule so that you can register nodes that should be announced on startup
5) Make the set of default Monitors configurable
1) Adjust the JettyServerModule and other things such that Jetty will actually serve the static artifacts and the various resources of the Master
1) Pull try/catch check in the JettyServerInitializer out of the initializer.
1) Introduce airlift/airline for CLI stuff and add a Coordinator CLI verb to make it all happiness
1) Start the journey of making the historical nodes work with Guice.  Doesn't work yet, but at least it builds.
1) Adjust JsonConfigurator to be able to attach the proper property path if it is renamed via a @JsonProperty annotation
2) JsonConfigurator now requires that fields be annotated with @JsonProperty.  It will fail fast if they aren't.
1) A whole boondoggle of changes to Guicify the instantiation of things for the Historical nodes
2) Add GuiceInjectableValues that supports @JacksonInject resolution via Guice
3) Refactor RequestLogger stuff and setup polymorphic deserialization method of creating objects
1) Another whole bunch of changes to annotate things and create Modules and bind stuff.  But OMFG, the compute node actually appears to be working!
2) The compute node works with Guice
3) The compute node fires up with Guice and appears to work
4) Did I mention that the compute node, now called historical node, fires up with Guice and appears to work?