Add support for reporting module for camus etl

Currently the only way to know details about the etl is through the log printed in timing report. Usually we would like to send this data to another service to track camus health.

This PR refactors reporting module so that a class can be set in camus.properties in order to send etl data. I also took the liberty cleanup camusjob class and refactor timing module as a reporter in order to serve as an example. At shopify we use it to send data to statsd in a custom class.

@drdee @kengoodhope