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.
Because the actual put of a document on the local db and the index update are an atomic operation, the u1db index is "ready" whenever a successful put finishes. Are you talking about the possible delay between, say, an asychronous `put_key()` call and the actual put? If that is the case, maybe it's worth it to notice in the comment that the index might not be ready because there might be asynchronous calls that are not finished yet. If that is not the case, then I don't get it. :-)