rename op() -> evaluate()
implement streamable interface instead of re defining methods
remove NOCOMMIT
remove parsers and parse and stream in MetricOps
make builder class for each MetricOp
if -> switch case
separate metric with numerics and others
add array metric that only reformats the buckets to array with doubles
implement agg structure for metric reducers to allow arbitrary aggs as input

missing still:
- use multiple buckets paths
- use x,y