Refactor posts api GET post and GET collection to new architecture

Summary:
- Post tests: Check for other fields on post response
- Post tests: Tag api.posts.feature with get/search so its easier to run relevant tests
- Refactor PostRepository to be more inline with TagRepo approach
- Add PostRepository, PostSearchData, Post search parser, and post formatter
- Handle user_id in API Formatter
- Refactor posts/ collection api to use new archtecture.
- Refactor posts/:id api endpoint to use new archtecture

Test Plan:
`./bin/behat -c application/tests/behat.yml application/tests/features/api.posts.feature`
OR
Just collection tests: `./bin/behat -c application/tests/behat.yml application/tests/features/api.posts.feature --tags=search`
Just individual post tests: `./bin/behat -c application/tests/behat.yml application/tests/features/api.posts.feature --tags=get`

Also ACL tests are failing
`./bin/behat -c application/tests/behat.yml application/tests/features/api.acl.feature`

Reviewers: eyedol, dkobia, shadowhand

Reviewed By: shadowhand

Maniphest Tasks: T438

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