cover: Abstract out HTTP status code checking.

Also, AS took this opportunity to optimize imports.
AbstractWebCover: Move the URL build out of executeGetRequestWithConnection().

Obviously, AS took this opportunity to optimize the imports of CoverManager
as well.
cover: Move HTTP connection building to it's own method.
cover: Check the status code directly after requesting it.
cover: Add a new method to check url status by connection, rather than status.
cover: Use getInputStream() inline where it makes sense.

Also, remove the inputStream.close(), this will get replaced by bis/br
close methods.
cover: Initialize the result with null, don't return early.

Avoid early returns when it makes sense, makes things easier to read and less
bug prone.
AbstractWebCover: Try to close the BufferedReader in final().
AbstractWebCover: Simplify while loop for reading.
CoverManager: Properly close resources after use.
AbstractWebCover: Make sure httpPost/httpGet exist before isAborted().
AbstractWebCover: Move client to the method where it's used and finalize there.
AbstractWebCover: HttpGet doesn't throw anything, refactor the method.

Despite what the documentation (old?) says, the interface doesn't say anything
about HttpGet throwing anything.
NowPlaying*: Avoid MPDConnectionException when starting or resuming.

When starting or resuming MPD isn't connected, and when MPDroid tries
to grab the status, an MPDConnectionException is emitted. This returns
false in updateTrackInfoAsync.doInBackground() when not connected; it
gets called again after a connection is established.
NowPlaying*: Clean up the doInBackground() method flow.
Merge pull request #495 from avuton/next

Cover connection cleanup
Collapsed Albums: add setting
Collapsed Albums: add strings
Collapsed Albums: add PlaylistAlbum
Collapsed Albums: add size() and hasText() to AbstractPlaylistMusic