Limit diff highlighting within emails to a region.

This implements a guard to help detect the beginning and end of a diff
region in emails.  We trigger on some common text leading up to the
diff, and then end the diff when we see an empty line or git's end of
diff marker.

Since I shoved everything into a region, it did require setting up
highlighting for the context lines within the diff to keep from
inheriting diffHeader's coloring.