Implement Update Deployment Usecase, fixes T769

Summary:
  - Add update deployment usecase interface.
  - Implement update deployment usecase interface.
  - Add test for testing update deployment usecase at the core layer.
  - Add test for testing update deployment usecase at the data layer.
  - Code refactor. Rename IDeploymentEntityAddedCallback to IDeploymentEntityPutCallback for reuse.

Test Plan:
  - Run `./gradlew test
  - See the test pass

Reviewers: dkobia

Subscribers: rjmackay

Maniphest Tasks: T769

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