Add reply and signature removal to EmailParser

Both of these capabilities are pretty basic; they just look for patterns
and use those to remove chunks of messages. Signatures are identified
either by a line of dashes or similar, or, failing that, by a set of
simple heuristics that appear to work fairly well. The test suite was
expanded to include test cases for these specific features.