Moving encrypt, sign and send logic from gateway (SMTP) to an OutgoingMail class

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
So, we again changed the approach. Whatever will be decided will be handled by this pull request: https://github.com/leapcode/leap_mail/pull/157