Refactor how server capabilities are communicated.

Instead of providing canFavourites, canMusicFolder, canMyApps, and
canRandomPlay methods, include this information in the HandshakeComplete
event.
Make disconnection handling more robust.

- Remove all sticky events on disconnect, so an activity can't get an
  errant HandshakeComplete event while disconnected.

- Post a new ConnectionChanged() event to indicate that the server has
  disconnected.

- Use this ConnectionChanged() event as the signal to show the
  DisconnectedActivity in NowPlayingFragment.