Renames Metric to MetricDatabase and MetricAction to Metric
Moves all Metric logic from State into Metric class; requires that Metric fields (@MetricValue) are of the Metric type.