Merge pull request #533 from avuton/next

Bugfixes & cleanups
Make server conncetion error a little more verbose
Fix  connection error stack overflow. Fixes #421
Revert "Fix  connection error stack overflow. Fixes #421"

This reverts commit 09d8b548cda99f9903dd0a4838b07f1dca7a7222.
Handle MPD 0.19+ protocol changes
Add error kind support
Handle invalid password command
Log parsing exceptions
Clean up exception handling
MPDStatus: Pattern match using precompiled regular expressions.
NotificationService: Make service persistent to option.

If NotificationMode is started, don't unselect it. Keep the service open,
unless the user opts to hit the close button.

Rather than update on track change, update on playlist change. This will be
more granular and it will include stream information updates unlike track
changes.

Finally, this patch turned out to be a small refactoring, so there are
many changes not targeted by the description.

For more information about how persistent notification works:
https://github.com/avuton/dmix/wiki/How-the-services-work-in-MPDroid
NotificationService: Fix warnings.
StreamingService: Warning fixes.
RemoteControlReceiver: Warning fixes.
NotificationService: When the play state is paused, don't send pause command.

This works around an MPD bug, if MPD is paused some versions will toggle to play.
StreamingService: Prevent a MediaPlayer crash if stream halts during buffer.

MediaPlayer can cause an ANR or crash (depending on its state) if the stream
is stopped during buffer and the object is reset or released. Workaround that
by not resetting or releasing during buffering. The disadvantage to this is
that next start we may have some stale bits in the buffer which we'll hear
first, then it'll rebuffer.
Music.java: Refactor the constructor.
MPDStatus: Fix warnings.
MPD.java: Remove duplicate response parsing.

Many tag lists are parsed the same exact way, eliminate this duplication and
clean up the method it uses to parse it.
Music.java: Use the URL class to retrieve the URL reference.