Moving encrypt, sign and send logic from gateway (SMTP) to a MailService

Creates a MailService that has the logic for encrypting, signing and sending messages. Factors that logic out of EncryptedMessage so it can be used by other clients
![image](https://cloud.githubusercontent.com/assets/3072993/5029607/cb526e52-6b48-11e4-8765-1c4e0dee10f9.png)