Use "git log" rather than "git show" to generate Revision email bodies.

This makes the options more obvious.
Allow the Environment to filter the email body any way it wants.

Instead of only supporting limiting the number of lines in the email
body, add a hook to allow the Environment to filter the email body
arbitrarily.  For now, only implement maxlines limiting.
Implement some more email body filtering options.

* multimailhook.emailmaxlinelength -- limit the length of lines in the
  email body.

* multimailhook.emailstrictutf8 -- coerce the body to UTF-8, replacing
  any invalid characters with U+FFFD.

For now, these filters are only applied to the part of the body
generated by Change.generate_email_body(), so it is still possible for
non-UTF-8 text to sneak in via reference names, repo names, author
names, etc.

The line length limit was suggested by Matthieu Moy
<matthieu.moy@grenoble-inp.fr>.