ahem, what is that doing there?
consistent naming: setRepository, setAuthorizer, etc
use ToolTrait for Tool
last minute sanity checks for CRUD operations in Ushahidi_Repository
Use abstract use cases for layers endpoint, refs T696

Summary:
- registers "layers" with endpoint mapping
- deletes specific usecases and repos

Test Plan:
```
bin/behat -f progress -c application/tests/behat.yml application/tests/features/api.layers.feature
```

Reviewers: rjmackay

Subscribers: bodacea, srutto, eyedol, aMoniker

Maniphest Tasks: T696

Differential Revision: https://phabricator.ushahidi.com/D386
delete copypasta