A way to absorb & combine metrics into a single set, keeping track of min/max/count, etc.
While this is just a map underneath, treat it like an opaque data type.
options() :: %{collapse_all: boolean, compare_desc: boolean, max_types: non_neg_integer}
t() :: %ScoutApm.MetricSet{data: map, options: options, types: MapSet.t}
absorb(t, ScoutApm.Internal.Metric.t) :: t
new() :: ScoutApm.MetricSet.t
new(map) :: t
to_list(t) :: [ScoutApm.Internal.Metric.t]