Replace user registration and login process with a use case, refs T227

Summary:
- install Aura.Di for dependency injection
- spec out use case, validator, and repo
- implement user repository using plain Kohana DB calls
- create parser for UI validation
- create validator for entity integrity
- create hasher for password hashing
- add "verify email" field to user registration (refs T99)
- integrate usecase with controller

Test Plan: `bin/phpspec run` and test manually.

Reviewers: rjmackay, dkobia

Reviewed By: dkobia

Subscribers: srutto, eyedol, lkamau

Maniphest Tasks: T99, T227

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