Check exists before listing dir, to avoid produce error log, fix #14210
changed: Cosmetics
fixed: We should only try to extract/show thumbs/flags for file-like items (fixes #14176)
fixed: The check for determining whether we're done was wrong
fixed: Auto flags didn't work for items without a VideoInfoTag
changed: Improve logic in GetStreamDetails() for items without a (complete) VideoInfoTag
fixed: Setting streamdetails for auto thumbs/flags didn't work for items with incomplete/empty infotags
fixed: Make sure item has a VideoInfoTag before accessing it
[musicdb] cosmetic: remove CSongMap and just use an std::map instead
[musicdb] cosmetic: make the path / filename index unique
added: Doxygen comments to CFileItem:IsAudio/IsVideo/IsPicture
Merge pull request #2486 from arnova/flag_fix

fixed: Stream flags would show for non-video files/items (fixes #14176)
[DVDStreamInfo] Fix 'CDVDStreamInfo::operator=' should return 'CDVDStreamInfo &'.
Read CD audio USB drive bug fixed

libcdio seems to allow read no more than about 10 audio sectors at once when CD audio device is connected via USB.
This patch makes XBMC read small number of sectors if default one fails. It uses more CPU but allows to use USB CD devices.
Tested on GNU/Linux x86 and RPi. (On Rpi OMXPlayer does not play CD, but I can rip tracks).
[musicdb] cosmetic: Add HasArtistInfo and make GetArtistInfo use the views, for consistency with albums
[musicgui] cosmetic: reroll the album/artist GUI to make them much cleaner and more logical
[musicdb] cosmetic: shuffle some code to a place where it makes more sense
[musicdb] cosmetic: separate tag scanning out into a separate function
Merge pull request #2568 from night199uk/cosmetics

[musicdb] Cosmetics from the original MusicBrainz patch
use tinyxml's Attribute() instead of QueryBoolAttribute() to stay compatible with tinyxml 2.5.x