Add StatusTrackingEmailReporter

Ported from https://gtv-git.corp.google.com/g/6900

Change-Id: Ibf33e1e16173cb7bf57cb4d23893ff6ed4929b4b
StatusTrackingEmailReporter:
 - Broke EmailResultReporter into AbstractEmailResultReporter and
   FailureEmailResultReporter, the former serving a super-class of the
   latter and StatusTrackingEmailReporter
 - Added hashCode and equals methods to a handful of core classes which
   were being transitively used for assertions in tests.
9 files changed