Druid Fireshose

Add druidFirehose, can be used to reIndex filtered data from a
datasource
AWSCredentialsProvider for s3-extentions

- fileSessionCredentials property is added
- AWSSessionCredentialsAdapter is adapter class between aws sdk AWSCredentialsProvider to jets3t Credentials
- FileSessionCredentialsProvider will refresh its session credentials from the file
- S3StorageDruidModule should return different AWSCredentialsProvider on the config settings
A few fixes

- EasyMock instead of Mockito
- FileSessionCredentialsProvider fields should be volatile
- getRestS3Service should create AWSCredentials not a AWSSessionCredentials with fixed credentials
License header and utf-8
review comments

1) Rename firehose to IngestSegment
2) fix segment overlapping, intervals
3) fix overshadow
Remove redundant forking task runner config
update refresh manually every hour
Add ShardSpec Lookup

Optimize choosing shardSpec for Hash Partitions
CombiningFirehoseFactory

can be used to ingest data from multiple sources.
Use Ingest task instead of Noop Task
Merge pull request #633 from metamx/remove-config

Remove redundant forking task runner config
refresh thread should be daemon
review comments & pom changes
fix partitionNum calculation & remove extra sorting
point to correct version
improve memory usage and rename firehose
fix storage class npe
Merge pull request #637 from metamx/fix-s3-storageclass-check

fix storage class npe
fix broken S3 moving test
rejiggering the cache for groupBy and select