Change GerritTask to broadcast state changes

This decouples UI feedback from GerritTask so it can be managed instead by the associated activity.
It also removes the necessity that GerritTask be an AsyncTask.

Added the different message types (classes under message/)
Added main abstract message type GerritMessage
Added DefaultGerritReceivers which contains default (from GerritTask) broadcast listener behaviour
Added listeners for GerritControllerActivity

Note: While the progress in data loading is sent, the progress dialog does not get updated.

Change-Id: I8e65e76ffb85ef00d77d05196aa14ba3e4c75c29