todos--

We can't modify the response structs because they might be reused by
somebody else.
formatting
Move metrics cache key to a struct.

In preparation for supporting timeShift and movingAverage, we will need
to support the same metric for different time ranges.  This patch is the
first step along that path.
Handle more timestamps as int32 instead of string

We'll need to be doing math on them.  Having them as integers makes this
easier.