adding username/password support along with ssl/starttls

Original pull request from here https://github.com/ansible/ansible/pull/7213

The mail module lacks the ability to have SMTP username and password. Also, due to sending credentials support has been added for SSL/TLS and STARTTLS.

Would be really good to get this merged.