Add User creation

* Use Dependency Injection for error presenters
* Add User and Organization models
* Add a TokenGenerator Service
* Add some unit tests
* Add some acceptance tests