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.

Finally, this patch corrects the state retrieval method name.
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.