Merge pull request #242 from metamx/guice

Druid version 0.6.0
Port fix for issue where IncrementalIndex doesn't properly filter for "null" values from 0.5.x to master
fix broken http endpoints
Fix issues with bindings and handling extensions

The way the Guice bindings were setup previously, each process only had bindings
for the things it cared about.  This became problematic when adding extension modules
that bound everything that they could possibly need expecting that the processes would
only instantiate what they actually do need.  Guice tries to fail-fast and verifies that all
 bindings exist before it does anything, which is a problem because the extension bind
 some objects that don't necessarily have all of their dependencies bound in all processes.

The fix for this is to build a single Injector with all bindings in it and let each of the
 processes only load the things that they care about.  This also requires the use of
 Module overrides and other such interesting things, which are node done.

 In doing the fix, I also swapped out the way that the DataSegmentPusher/Puller stuff is bound, as well as made the Cassandra stuff fail if its settings are not provided.  This all of a sudden made all of the things require Cassandra's settings, so I migrated the Cassandra deep storage stuff into its own module.

 In doing these changes, I also discovered that some properties weren't properly converting for the ConvertProperties command (specifically, the properties related to data segment loading and pushing), so I fixed that.
Merge branch 'master' into fix-extensionization

Conflicts:
	services/src/main/java/io/druid/cli/CliBroker.java
	services/src/main/java/io/druid/cli/CliCoordinator.java
Refix the things that were lost in the merge.
Merge pull request #243 from metamx/fix-extensionization

Fix issues with bindings and handling extensions
Enable usage of SysMonitor to verify disk locations via DruidSysMonitor
fix broken unit tests are a result of the last merge
Make Jetty Server lazy

JettyServerModule had been eagerly instantiating the Server object, which was causing things that didn't care about an HTTP interface to all of a sudden require host and port parameters.  The change makes the JettyServerModule only setup the bindings without eagerly instantiating the Jetty Server.  Each cli needs to register the Server class with the Lifecycle in order to make it actually get used.
Move docs into a separate directory to better facilitate the separation that will exist.  I think.
Add missed com.metamx.druid.emitter.period propery to ConvertProperties
clean up realtime module and fix breakage in broker paths
refactor how server service discovery is done
fix lifecycle startup/stop ordering problem with discovery module and make druid able to load local extensions
fix spacing issues and other code review comments
Merge pull request #244 from metamx/guice-discovery

Refactor how server service discovery is done
Fix S3DataSegmentPuller retry bug
Merge pull request #245 from metamx/s3-retry-fix

Fix S3DataSegmentPuller retry bug
port hadoop druid indexer to new guice framework