MPDroidService: Move RemoteControlClient/MediaButtonReceiver to it's own class.
RemoteControlClientHandler: Store by RCC playstate.
MPDApplication: Move settings/warnings shown into the outer class.
MPDApplication: Dynamically check service status.

Setting & unsetting server status is not fullproof. Servers can crash, and
generally, go out of sync easily. This is approach is fullproof and clean.

This patch also removes the ApplicationState inner class as it is now unused.
RemoteControlReceiver: If notification closed during stream, stop stream.

Short log is confusing here; actually, if the notification close button is hit
on the notification, while streaming service is open, shut off the streaming
service as well. This can only occur while not playing, as the button won't
be visible, otherwise.
StreamingService: WOUND_UP -> BEGIN_BUFFERING.
MPDroidService: Setup listener for shared settings.
MPDroidService: Move notification code to it's own class.
MPDroidService: Move album cover updating to it's own class.
NotificationHandler: Construct the notification, update incrementally.
NotificationHandler: Simplify the activity starting pending intent.
NotificationHandler: Remove the callback, use an instance to set foreground.
RemoteControlClientHandler: Move the seekbar code to it's own class.
RemoteControlClientHandler: Split track cover update to it's own method.
MPDroidService: Improve focus code.
Service: Try a shorter timeout.

It's really subjective. 10 minutes seems a bit too long, a few minutes too
short. Try 5 minutes / 5 minutes 30 seconds.