Adapt smtp-relay to use leap.common.keymanager

* Add docstrings to smtp-relay classes.
* Setup test suite.
    * Add setuptools-trial as dependency for tests.
    * Move smtp-relay tests to default test directory.
* Add tests for smtp-relay.
    * Send of unencrypted mail depending on 'encrypted_only' param.
    * Malformed email address.
* Add a helper function for smtp-relay.
* Assert params for initializing SMTPFactory.
* Use mail.util.parseaddr to parse email address.
* Use email.message.Message to represent an email message in smtp-relay.
* Make requirements effective and fix leap.common version in setup.py.
* Add/remove dependencies in setup.py.
* Fix Soledad instantiation in tests.
* Fix sender address in smtp-relay.
* Fix some comments regarding twisted's SSL and SMTP.
* Remove authentication from smtp-relay when sending.

This closes #2446.
Make smtp-relay sign all outgoing message.

* Update docstrings.
* Remove prepareHeader and its bug.
* Make smtp-relay always sign outgoing mail.
Add changes file.
Functional SoledadBackedAccount and LeapMailboxes

The imap service is launched from the tac file,
and still needs some information to be provided in separate
config files that stub much of the initialization parameters.

working fetch and store methods.
tested with offlineimap and thunderbird.
several mailboxes might be broken.
cleanup and complete docs
use the same soledad instance

for incoming and mailbox
Merge remote-tracking branch 'kali/feature/imap-service2' into develop

Conflicts:
	pkg/requirements.pip
	src/leap/mail/imap/tests/test_imap.py