Add classes to druid-api to facilitate the creation of storage and firehose implementations purely from the druid-api jar

This change set moves some files from Druid into druid-api in order to allow for the implementation of storage and firehose extensions without depending on Druid proper.

Note, this does imply a re-licensing of the various files added, but I felt that it was important to be able to extend without having to pull all of Druid into the extension (and fight with the resultant versioning issues)
Merge pull request #2 from druid-io/allow-storage-and-firehose-impls-with-just-api

Add classes to druid-api to facilitate the creation of storage and firehose implementations purely from the druid-api jar