Make MetricGauge a template class from which MetricGaugeInt/Long/Float/Double come; add some corresponding unittests.