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.
> deferred that she has in her hands represents the asynchronous key deletion procedure, and the actual deletion callbacks (contained in that deferred) will be called at some unknown point in time. Also, if no callback is added by the user, the key will only be deleted and there will be nothing to be fired when the key is deleted.

I understand drebs concern here, but I am with meskio in that this is standard twisted documentation practice. Also, "if no callback is added", I think it's still technically correct to say that *the deferred is fired* (returning whatever result the operation gets). Adding callbacks is the caller responsibility.