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

Is this specific use of "+" described in some standard? I just ask because it seems to me that there are a lot of ways someone could use his/her identity to achieve distinct uses (i.e. by using "-" or "_").