Added OutgoingEmailValidationListener

This new extension API allows extensions to implement a low-level
e-mail filtering mechanism. Extensions may change the from, to,
headers, and body attributes of an outgoing e-mail.
Alternatively, a ValidationException may be thrown to cancel the
outgoing e-mail.

Optional high-level attributes, such as Change-Id, are found as
corresponding e-mail headers (X-Gerrit-Change-Id) or encoded in
the body.

Change-Id: I0d22b6eefcbd79115fb7c2827b8bf18eaeb1ad22
5 files changed