[WIP] User registration

This covers the initial steps of user registration, including checking for email existence, front-end validation, insertion into DB.

This is still work in progress, do not merge.