Metric Aggregation
🚀 Feature
To offer a better metric aggregation I discussed a potential way to go with @SkafteNicki .
We agreed on the following:

add a new aggregated-property that aggregates the metric over batches.
default ddp-sync to broadcasting + aggregation
add a reset  function to metrics to reset the internal persistent aggregation state (can be called by user whenever they want; usually on epoch end)

in pseudo code the metric workflow will now be:
interm_outputs = do_some_first_calc(batch)
broadcasted_interm = broadcast(interm_outputs)
persistent_state.extend(broadcasted_interm)
return aggregate(broadcasted_interm)
cc @PyTorchLightning/core-contributors