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.
I agree it might not be needed. I think I introduced that check when I first started writing the key manager, when we were thinking about the possibility of having multiple types of encryption schemes and keys. In that time I wanted to assert that the attempted encryption scheme actually existed.

Feel free to remove it if you find it better.