Rewrite outgoing email to be more user friendly

This rewrite splits the code down into message specific subclasses,
and resolves a whole slew of problems filed against the old sending
code.  The old code was so bad, it really was just easier to do a
full rewrite of it.

Bug: GERRIT-125
Bug: GERRIT-133
Bug: GERRIT-140
Bug: GERRIT-147
Bug: GERRIT-149
Bug: GERRIT-157
Bug: GERRIT-158
Bug: GERRIT-159
Bug: GERRIT-180
Signed-off-by: Shawn O. Pearce <sop@google.com>
16 files changed