Add support fox prefix argument for prepending to all metric names.

# What this patch does

This patch adds a global prefix attribute that is prepended to all metric names that come from the reporter.

# Motivation

Some reporters (e.g. Graphite) allow a prefix to be set that is appended to all metric names. While tags are a more elegant solution to this problem it is noteworthy that at present Datadog does not have a way to enumerate all metrics with a given tag. Therefore my team uses prefixes (e.g. keen.serviceName) to segregate metrics.

# Testing

I've modified the `DatadogReporterTest` to use a prefix, but it's a bit heavy handed. I chose this method because this is how the existing global tags were tested. I am happy to revert this and create a new test if deesired.

# Thanks!

I appreciate you looking this over. Please let me know if I can do any more work to make this PR acceptable. This functionality is essential to a project I'm working on and I would love to use it as soon as I can!
I'd prefer to test both with and without the prefix. Ideally, we'd be able to run the entire test suite with and without a prefix, but that would be a bit of work. In light of that, perhaps you can just unit test the `prefix` method: make it protected, then write a test case that builds a new reporter `withPrefix` and call the `prefix` method to ensure it's returning the correct metric name.  Additionally, maybe you can add a higher-level test calls `reporter.report` on a prefixed reporter and verifies the prefixed name is sent.  Does that make sense?