Instead of filtering metrics after computation, skip the expensive
database queries entirely for hidden metrics. This prevents timeouts
on accounts with large datasets.
- MetricBuilder now accepts hidden_metrics param and returns nil for
hidden metrics (compacted from response)
- Reports controller passes hidden_metrics to builder params