Add documentation for metrics reporter factories.

Documentation has been omitted for fields and accessor methods whose
operation are obvious by their signature.
Add tests for ReporterFactory implementations
Don't allow configurable Clock

Application-level metrics are highly unlikely to want a non-default
Clock implementation. Lets remove the Clock configuration and require
users to manually add those reporters to their service if they need
them.
Handle Exceptions during reporter initialization

Metric reporters are nice, but not critical. Lets not fail service
initialization in the event that an Exception occurs (e.g. a remote
service the reporter reports to is not responding).
Add GraphiteReporterFactory

Adds an optional dependency on metrics-graphite.
Add support for GangliaReporter configuration