MPDroid: Add 'service' module, rearrange code.

Setup a service module, this commit should have no impact on the running code.
MPDroid: Add a helper method for choosing no cover art image.
MPDroidService: Remove current track updating from updatePlayingInfo.
MPDroidService: Remove seek time from updatePlayingInfo.
MPDroidService: Remove album cover updating from updatePlayingInfo.
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. I
fully expect to replace this functionality as soon as I can figure out a more
robust method of accomplishing this.

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: 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.