port to new soledad async api

**Not ready to merge, missing changes in leap.mail and maybe other to be compatible with the new API**

It needs to synchronize the merge with the soledad async API and the upgrades in leap.mail.
Sounds good.

While implementing it I was wondering how much leap_assert makes sense, as we never check for this exceptions in the client neither we return them as failures in a deferred.