Feature/6299 new doc

* New doc struct for encryption keys https://leap.se/code/issues/6299
* Multi uid support https://leap.se/code/issues/6212
* Keep old key after upgrade https://leap.se/code/issues/6262

So now we have 3 signatures for `put_key`:
* `KeyManager.put_key(key, address)`
* `EncryptionScheme.put_key(key)`
* `OpenPGPScheme.put_key(key, address=None)`

Should we standardize this?