Initial implementation of sign up functionality

Submitting code for sign up. Current revision gives error 500, but can
used for dev testing.