Reorganize user registration repo to not be CRUD, fixes T246

Summary:
User registration is a specific workflow, with specific inputs, so it should
not use a CRUD interface with the repository. By having a more specific repository
interface, the boundary between the API and direct user interaction becomes
more clearly defined.

Test Plan:
```
bin/phpspec run spec/Ushahidi/Usecase/User/RegisterSpec.php
```

Reviewers: dkobia, rjmackay

Reviewed By: rjmackay

Subscribers: PapaLee, lkamau, eyedol

Maniphest Tasks: T246

Differential Revision: https://phabricator.ushahidi.com/D105