Experiment with EventBus as a replacement for callbacks.

* Add a dependency on EventBus, with associated ProGuard changes.

* Replace IServiceVolumeCallback with a PlayerVolume event.

* Adjust BaseActivity and PlayerListActivity to respond to the event.
Fix two NPEs when no players are connected to the server.
Fire an event when the handshake completes.
Create and use an EventBus that's specific to the service.

Instead of using the default EventBus provided by EventBus.getDefault(),
SqueezeService creates its own, and makes it available to clients of
the service through the getEventBus() method.

This ensures that service events are only sent to clients of the service
instead of being received by all-comers, which will probably be useful
later.

This changes the lifecycle of the activity / fragment registration on
the event bus. Instead of using onStart() and onStop() to register,
register in maybeRegisterCallbacks(), and unregister in onPause(),
to mirror when the callbacks are registered.
Delete IServiceVolumeCallback, as it's no longer used.
Replace IServiceConnectionCallback with a ConnectionChanged event.
Use BaseActivity.this as the client for volume callbacks.

Without this it registers as the sub-class, and is not removed correctly
when the activity is paused.
Replace IServiceMusicChangedCallback with a MusicChanged event.
Replace IServicePlayersCallback with a PlayersChanged event.
Replace IServicePlayerStateCallback with a PlayerStateChanged event.
Merge remote-tracking branch 'nik/develop' into develop
Replace IServiceCallback with multiple events.
Comment refactor for consistency.
Add "changedSong" to the conditions that trigger onPlayerStateReceived.

Without this the displayed songs in PlayerListActivity don't update.
Fix two NPEs when no players are connected to the server.

(cherry picked from commit 0c167b3285670fc385cd00cef933bf3416936e0e)
Update to the latest version of dependant libraries and tools.

SDK version stays at 19 to avoid bringing in Wear / Material Design themes
which are not handled well.
Prepare for release 1.2.0-beta-1.
Replace IServiceCurrentPlaylistCallback with PlaylistTracksAdded and
PlaylistTracksDeleted events.
Use equals() instead of == when comparing songs.

Fixes bug where the song was always considered to be different.
Use equals() instead of == when comparing songs.

Fixes bug where the song was always considered to be different.

(cherry picked from commit d5318de40a9165bd20baf80e97888dae7933b659)