Sanify template_name and text_template_name parameters

At the moment:

- Using only `template_name` treats it as plaintext and sends a plaintext email.
- Using both it and `text_template_name` treats `template_name` as HTML and `text_template_name` as the plaintext version.

It'd be better if:

- Using `template_name` was always plaintext.
- An optional parameter, `html_template_name`, would add a HTML alternative to the email.

This is backwards-incompatible for anything hoping to send multipart email.