Fixes #2: add encryption on client-side.

* User data is encrypted in the browser.
* User id is generated in the browser.
* User data/id is send to the server in a different request
than the username/email.