Implement media use cases. Fixes T1078

Summary:
 - Add `Media` entity.
 - Add `DeleteMedia` use case.
 - Add `AddMedia` use case.
 - Add `GetMedia` use case.
 - Add `UpdateMedia` use case.
 - Add `ListMedia` use case.
 - Add tests for all the implemented use cases.

Test Plan:
run
 - `./gradlew test`
 - See all test pass

Reviewers: dkobia, PapaLee

Subscribers: rjmackay, shadowhand

Maniphest Tasks: T1078

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