This adds a new class ReportingEvent Stack for using
report_start_event and report_finish_event easily with a context
handler.
It also modifies FinishReportingEvent (and finish_event) accordingly
to take a status rather than simply a boolean successful. The intent
is that WARN is provided when a non-desireable result occurred but it
is non-fatal.
Change-Id: I978c76e429790036f8740d7eb7279e925a1e74d0