Replace isDetached with a working function
MPDroid can now seek in the lockscreen
Clean up the notification seek : Typo fix, remove debug, fix play state reporting
*Service: Don't rely on intents for important status updating.

In this case, we can't rely on intents to keep the status up to date about
whether the StreamingService is wound down, as they're WAY too slow which
then causes a race for audio focus. Instead use static values and public
accessor.
StreamingService: Abandon audio focus when winding down resources.
StreamingService: Improve focus code.

Turns out the transient focus code doesn't work in the more recent Android,
maybe never? At any rate, fixed transient focus and added some more improved
methods of dealing with focus with regard to streaming.
MPDroid: Disable services start until explicitly enabled.

Apparently, Android services are started on boot by default, which, obviously
runs through the app on start. Disable this functionality until explicit use.
BrowseFragment: onDestroy(), remove the AsyncExecListener.
NotificationService: Fix spelling.
NotificationService: Run formatting.
MPDStatus: Start with reformatting.
MPDStatus: Convert if conditional block to switch.

This patch also changes the behaviour of reading the response lines, with split
and a string array, simplifying the array and easing reading.
MPDStatus: Fix some warnings.
MPDStatus: Add logging of unknown response lines.
MPDStatus: Move the null check up and log it.
MPDStatus: Add elapsed (for high resolution timing) and mixRampDB status.
MPDStatus: Reorder fields and constructor.

Rare that something like this is warranted, but in this case the
list is very long and this will make reading much easier.
MPDPlaylist: Add a crop method to the playlist.

If playing or paused, crop removes the playlist items not playing or
paused. In other states it simply returns.
MPD.java: Don't change MPD state when replacing on the playlist.

While playing if 'Add, Replace and Play' or 'Add and replace' are selected,
don't stop, clear, add and play. Rather than invoke a MPD state change, move
the current playing playlist queue item to queue postition 0, then remove the
remaining playlist items, add the replacement playlist queue items,
select the next playlist item, then remove song 0. It occurs in the same
amount of time and the play interruption is minimized. This behaviour causes
a track change listener emit rather than state change.
NotificationService: Don't check for empty playlist on pause.