Added umbrellaInterval method, which takes an Iterable of intervals and returns
a single interval spanning the entire range of input intervals.
Implemented Hadoop Index Task which takes as input a HadoopDruidIndexConfig and
generates index segments.

The HadoopIndexTask run method wraps a HadoopDruidIndexerJob run method. The
key modifications to the HadoopDruidIndexerJob are as follows:

- The UpDaterJobSpec field of the config that is used to set up the indexer job
  is set to null. This ensures that the job does not push a list of published
segments to the database, in order to allow the indexing service to handle this
later.
- Set the version field of the config file based on the TaskContext. Also
  changed config.setVersion method to take a string (as opposed to a Date) as
input, and propogated this change where necessary.
- Set the SegmentOutputDir field of the config file based on the TaskToolbox,
  to allow the indexing service to handle where to write the segments too.
- Added a method to IndexGeneratorJob called getPublishedSegments, that simply
  returns a list of published segments without publishing this list to the
database.
Addresed Gian's code review
Fixed typos in comments, changed prefix on s3Paths to s3n from s3://, cleaned
up umbrellaIntervals code in JodaUtils, modified the DbUpdater to push segment
meta-data to the database in batches.
Merge branch 'master' into hadoop-index-task

Conflicts:
	common/src/main/java/com/metamx/druid/utils/JodaUtils.java
	indexer/src/main/java/com/metamx/druid/indexer/DbUpdaterJob.java
	indexer/src/main/java/com/metamx/druid/indexer/HadoopDruidIndexerConfig.java
	indexer/src/main/java/com/metamx/druid/indexer/IndexGeneratorJob.java
Merge branch 'master' into hadoop-index-task

Conflicts:
	merger/src/main/java/com/metamx/druid/merger/common/task/Task.java
HadoopIndexTask: Jackson fixes and general overriding of storage-specific stuff
Merge pull request #64 from metamx/hadoop-index-task

Hadoop index task