Both the current version and the last startup version can be unparsable.
Hence we now just catch the resulting exception and reset the version
to the new version, which may or may not be parsable, which we'll find
out on the next start up. But either way this prevents crashes from
unparsable versions in the database.
MPD HTTP streaming provide the media content at every URL thrown at the
HTTP backend. So requests for shoutcast and icecast metadata get stuck
receiving the actual media content, instead of the expected metadata.
The conclusion is to only request these metadata files, when they're not
actually advertised as audio or video content types in a HEAD request.
Playlist items would previously have been added once for each attempt,
due to items being scoped differently than the playlist parsing
attempts. Each attempt would add to the playlist every time, since we
only returned outside the attempts loop.