Less Metric Puts

Every since the change over to the new metric type `DurationMetric` for front press latency, the amount of requests to put this type of metric has increased significantly.

When putting metrics, before we would `put` all the `DataPoints` for each metric in batches of 20 and `cloudwatch` would then calculate everything needed from this information (`Max`, `Min`, `Avg`).
Instead of doing this, we now use `StatisticSet` to describe all this information for each metric, meaning there will only be one `Put` per metric.

I have also grouped `applicationMetrics` and `systemMetrics` together so there will be even less `puts`.

@robertberry @gklopper 
Good spot! I had already tried this, and was actually getting compile errors here, and the `toOption` seemed to be the only way to consistently get the types correct. It has since changed, so I think I can do what you mention.