dmix: Update to SDK 20.
Refactor Playlist[Fragment|Control].java to Queue*.java.

This caused confusion due to the abiguity of the word Playlist.
MPDApplication: Reformat.
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.

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.
Merge pull request #571 from avuton/next

Maintenance & Bug Fixes update.
Update gradle scripts
AS files
Collapsed Albums: add setting
Collapsed Albums: add strings
Collapsed Albums: add PlaylistAlbum