Split telemetry schema into its own piece

So that we can re-use the functionality in MapReduce.
Teach TelemetrySchema how to figure out dimensions

Pull the dimension-getting code out to TelemetrySchema so it can be driven by
the schema doc.