[LTC] Refine MetricsArena::Reset
Summary:
After counters are reset, getters' behaviors are inconsistent. To improve
that, here I 1) move the validation of CounterData into CounterData::IsValid
such that it's better encapsulated, 2) divide getters into two groups:
a) MetricsArena::GetCounter() and b) MetricsArena::ForEachCounter(), and
route MetricsArena::GetCounterNames() and CreateMetricReport() to use b.
Test Plan:
PJRT_DEVICE=CPU python xla/test/test_metrics.py