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
I'm not sure if whatever we end up calling *the* MailService should be this class.
The "service", imo, should implement IService interface, which basically it's something that can be started and stopped
http://twistedmatrix.com/trac/browser/tags/releases/twisted-10.0.0/twisted/application/service.py#L87

I think we should better define this in terms of LEAPOutgoingMail or something like that.
the generic mail Service could define a collection with OutgoingMail, IncomingMail (sync and processing) and MailAccount (this one for accessing the mails in the storage)


I didn't think much about this yet, but I believe we will want to have concrete services binding the generic factories to the pluggable protocols (imap, zmq, rest, whatnot). For an example of service composition, have a look at:

https://github.com/jdavisp3/twisted-intro/blob/master/twisted-server-3/fastpoetry.py#L27

which is part of this series:

http://krondo.com/?p=2345