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.
MPD.java: Fix Add & Play.

This fixes a small bug added (abd63e8) where Add & Play broke.
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.
dmix: Another random gradle update.
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.
StreamingService: Disable workaround for Android 4.4.3 and later.

Apparently, the MediaPlayer racy bug has been fixed for Android 4.4.3. Only
use the workaround in lower versions.
StreamingService: Avoid null intent onStartCommand().

Null intent will be sent to streaming service in the case of some crashes.