Statsd buckets

The main change is to create a new MetricsBucketAggregator class.  There is a Aggregator class that MetricsAggregator and MetricsBucketAggregator inherit from.  The MetricsAggregator behaves the same way it used to.  When flush() is called, the MetricsBucketAggregator makes sure that the Metrics are returned with a timestamp that corresponds to the end of a "bucket" that is as long as the interval.