GerritStatusPush: Add per-buildset status updates

Currently GerritStatusPush will submit an update/review to gerrit
immediately when each builder in a buildset finishes building. It is
usually more useful to just get one update, containing information
about all of the builds in that buildset. So, allow GerritStatusPush
to do that, enabled by the new summaryCB constructor argument. A
sample summaryCB is also provided, simpleSummaryCB.

Since much of this functionality is already implemented in
MailNotifier, extract the relevant code into the new
BuildSetSummaryNotifierMixin, and make both MailNotifier and
GerritStatusPush use it.
(cherry picked from commit 4be77a1336a9d77eb22a7e4b49b22bd7394b2979)