Implement Ability To Edit Existing Deployments. Fixes T768

Summary:
  - Add a new fragment for updating existing deployment entry.
  - Refactor tablet layouts so deployments can be editted on the same screen
and the deployment list get refreshed after a successul update.
  - Change deployment IDs data type from a primitive long to an Object Long. Required by cupboard otherwise it won't update existing deployments
  - Change entity entity ID name to `_id`. Also required by cupboard otherwise
you cannot fetch by an entity by it's ID.
  - Various code formatting.
  - Add Activity Launcher class. Central place to manage app navigations.
  - Add listeners to facilitates communications between Fragments and Activities.

This diff ended being huge :-(

Test Plan:
  - Build app and install it both on phone and tablet devices.
  - Add couple of deployments if non exist.
  - Attempt to update any of the existing deployments.
  - See the entry get updated.

Reviewers: dkobia

Subscribers: shadowhand, rjmackay

Maniphest Tasks: T768

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