Registration routing

* Add a post route to register
* Refactored the db/models --> makes interacting with the models much easier without doing everything asyncrony 
Isn't `templeEmailAddress` always going to be equal to the `userName` field since passport is configured above to use `usernameField: 'userName',`?