Allow more customisation of account verification email

In `VerifyEmailMixin.send_validation_email` we hard-code the email subject. We also assume only a html email is sent.
Part of the reason for pulling this out as a method was to decouple it from the IO layer in `send_validation_email`.