update mail path after refactor
Merge remote-tracking branch 'refs/remotes/kali/bug/update-mail-path' into develop
Flag imap session for closing. Fixes: #4925

This will need a more serious investigation, since we're not shutting
down all the imap-related objects, but will do for now to prevent
access to different accounts while a session is initiated in the MUA.
(tested with thunderbird).
Warn the user if is using an old app version.

[Closes #4636]
Move a provider problem to a separate signal.

- Some code cleanup
- Fix typos
Refactor provider utilities.
Warn the user on incompatible api error.

- Add a proper signal for the incompatible api error.
- Warn the user of an incompatible api.
Add changelog for #4636.
Replace version check with a better one.
Use short version since we don't care of suffix.

This way we support client '0.5.0-rc3' if the provider supports '0.5.0'.
Add flag to disable version check.
Merge remote-tracking branch 'refs/remotes/ivan/feature/4636_warn-user-if-outdated-app' into develop
bump version compat
add --offline flag and tidy up arguments by sections
add offline flag
Merge remote-tracking branch 'refs/remotes/kali/bug/close_imap_session' into develop
offline mode

This will skip:
* srp authentication with server
* remote soledad configuration
* keymanager sending key to server
* imap fetches.

Its main goal is to help us while debugging imap accounts, by cutting
almost all communication with server.

It will break havoc if you use it without having local keys configured.
So, basically, use with care.
workaround for using keyring inside a virtualenv

(securestorage backend)

This is related to research #4190 and #4083.
I didn't resolve them, but I ended understanding a bit more what kind
of issues can we be having with those.
This workaround is more than anything a cleanup on that for future work,
and is making me able to test the client much more nicely inside a
virtualenv (where the default keyring selecting was the plaintext one).

For this to work inside a virtualenv, one have to install SecureStorage,
which in turns depends on python-dbus, which is basically uninstallable
using pip inside a venv. So, symlinking to the rescue!

it needs gi/repository and pyobject to be symlinked too.
but at least you don't have to type the pass every time.

I don't know what should be do in the long term with this issue.
Some of us were not too fond on using the keyrings at all.
We don't have many options among all the keyring backends, and sadly
many of them depend on PyCrypto. So probably roll our own backend. Yay.
beautify link to downloads (make it a link)
Merge remote-tracking branch 'refs/remotes/kali/feature/offline-mode' into develop