SmtpOutput Subject Paramter + RFC2047 / RFC2822 Compliancy

@trink

- Add user-definable subject parameter for custom email subject line
- If no user-defined subject line is provided, utilize a slightly more descriptive subject line
- Ensure RFC2047 compliancy
- Ensure RFC2822 compliancy

Go's smtp.SendMail func does not ensure compliancy in sent emails with the proper headers and encoding. This is typically not a problem for standard MTAs but Google Mail rejects messages.

I have tested these changes against SendGrid and Google Mail for Business and rejection will no longer occur for users of these services.