implement data channel creation
From https://gitlab.com/Misakey/product-needs/issues/240
Creating a data channel requires to:
- generate a key pair
- store the secret key in the secret storage
- upload the public key to the backend
However most channels will be created during account creation (a.k.a. “sign up”), in which case steps “store the secret key in the secret storage” and “upload the public key to the backend” will be integrated with similar steps already existing during the signup logic.