Introduce Shopify Partitioner to store files in same file hierarchy as Albert

The Camus DefaultPartitioner stores files in HDFS in the following path:
/{configurable_root_path}/{kafka_topic}/{time_granularity}/{year}/{month}/{day}/{hour}/

The {time_granularity} component defaults to 'hourly' and is mandatory.

The path that Albert uses to store data is
 /{configurable_root_path}/{kafka_topic}/{year}/{month}/{day}/

This PR introduces the Shopify Partitioner that is 99.9% identical to the Camus
Default Partitioner with the exception that the {time_granularity} component is
no longer mandatory. This means that we can have Camus write to the exact same
location as Albert and so we don't need to manage two input paths for each topic.

@wvanbergen @bouk 
Not HourlyPartitioner because the time granularity is configurable in the camus.properties file and so there is no guarantee that this will always output files per hour. I choose ShopifyPartitioner to make it very clear that this is a custom class for our use case.