add configurable base option

allow graph defs to specify their base unit. specifically this lets graph defs which work with bytes specify that they should be calculated using 1024 instead of 1000
In the distant future we will want to rely on datapoint metadata for scaling these things. We should support this in the graph def as this is a requirement for RM but eventually we'll want to rely only on metric/datapoint metadata.

I'm fine with merging this the way it is. I was just asking if we should support the base in the metric and avoid a change in the future.