*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.
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.
NotificationService: Only pause on ACTION_AUDIO_BECOMING_NOISY if streaming.

The old behaviour was to stop on ACTION_AUDIO_BECOMING_NOISY which didn't get
modified with the new NotificationService behaviour. We should really only
pause here if the user is streaming. This should fix bug #524.
MPDStatus: Reset values which might not be in a status update.

Not all status update responses include all status fields so these fields
should be reset prior to reponse parsing. This fixes (at least) seek bar
position on transition from state pause to stop.
Merge pull request #525 from avuton/next

MPDStatus refurbish, StreamingService fixes, other cleanups and fixes