Merged my cleanup of Gianluca's HTML branch.
This fixes a bug in binary comments (non-"text/" content-types), where
the content-type wasn't being set until _after_ the save was
attempted. This led to errors for non-ascii bodies (e.g. images with
null characters).
Note that text/html comments are included as is, so make sure they are
formatted appropriately to fit into your tempate without creating
invalid code. This issue could be a real pain in the neck, especially
when including text/html email bodies, which might contain <body>
tags, etc.. Stupid email clients that don't send a text/plain
alternative...