Add starttls and attachment support to mail.

This PR has 2 purposes:

1) Sending SMTP via gmail (which can be useful when testing before production credentials are ready) requires the  elho -> starttls -> elho calls before authentication.  This PR adds a use_starttls param to the sendmail function.

2) Support for attachments is also added.  This is a port of @mmcclay 's work in chariots.