Use a clock to get the time for metrics

Adds a new constructor to MonitorRegistryMetricPoller that allows us to override the clock used when setting the timestamp for metrics.