MPDApplication: Fix many warnings.
MPDApplication: Move init back into onCreate().
MPDApplication: Refactor connectionFailed().
MPDApplication: Don't allow duplicates in the connection lock list.

Lifecycle terminators aren't guaranteed to be called, it would be bad enough
if an instance doesn't get removed from the list, but if there turned out to
be a duplicate the connection would stay needlessly locked.
MPDControl: Use a connection lock.

Didn't understand connection locks before, and I did things the hard way.
This also blocks the thread up to 5 seconds waiting for a valid connection.
MPDroid: Clean up logs.

Clean up logs, to include removing all Auto-generated printStackTrace() stubs,
use the third parameter for exception objects, use a String object for the TAG,
and omit static logs from the import.
StreamingService: Make the error window smaller.

If we catch the player change the play state between the delayed handler start
and the prepare async, we lower the chance this class will need to have it's
errors workedaround.
service: Avoid null intent onStartCommand().

Null intent will be sent to services in the case of some crashes.
MPD.java: Fix Add & Play.

This fixes a small bug added (abd63e8) where Add & Play broke.
NowPlaying*Fragment: If stopped and the playlist changes, initiate a update.

If stopped, and the playlist changes, initiate a track & cover information
update.
MPDroidService: Before stopSelf(), stopForeground() needs to run.