Make Metrics Reporters configurable via SPI

Adds a new `metrics` section to the Dropwizard `Configuration`, permitting users to define `reporters`, based on `ReporterFactory` implementations.

Any `EnvironmentCommand` will automatically add the configured metrics reporters to its lifecycle.

Current implementations:

  * `console` - `ConsoleReporterFactory`
  * `csv` - `CsvReporterFactory`
  * `log` - `Slf4jReporterFactory`

Note: I'm raising this Pull Request now for comment or rejection if you don't feel it's helpful. There are still several outstanding tasks I need to finish:

  * Tests for all `ReporterFactory` implementations.
  * JavaDoc.
  * Other `ReporterFactory` implementations with "optional" dependencies (e.g. Graphite, Ganglia, etc.)