Complete architecture for Form Groups endpoint, fixes T852

Summary:
- implement create, read, update, delete, search
- add supporting classes
- modifications as necessary

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

Reviewers: vladimir, aMoniker

Reviewed By: aMoniker

Subscribers: spaudanjo, rjmackay, srutto

Maniphest Tasks: T852

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