Note that `ExecutorStatus` messages even happen when there aren't any active stages.  This means that you can also measure the cluster utilization across the lifetime of a spark context, not just within a stage.  Eg., this would help diagnose if every stage is very well distributed, but between stages there is a lot of work happening on the master.  I just decided to not include that in `StatsReportListener`.

(You could achieve the same effect w/out actually sending all the messages when there are no active stages, but the cluster is idle anyway, so why not.)