Add Service Object to Consolidate User Creation Logic

Logic for user creation was previously replicated in `TeaTime` and `Registration` controller. This consolidates it and also fixes the 500 when a preexisting user tries to create an account (i.e. it fixes #138)

Fixes #126, #138 

ToDo:
* [x] Tests for `GetOrCreateUser`
* [ ] Manual verification
* [ ] @ankitshah811 makes sure the error message and user flows are correct
* [x] Add Integration Test for existing user trying to log in