Expose both the total table size in bytes, and the currently used size

This helps admin know how much RAM gumshoedb expects to take.
Expose the oldest and newest rows in metricz

This is so clients can know what time range is currently stored in
gumshoe. We may be able to expose this information more elegantly if we
make time a required dimension for each row.
Complain when JSON fields have an unexpected data type

I encountered this issue when I mis-specified a column as numeric
instead of string.