smartplaylists: replace strcmpi with StringUtils::EqualsNoCase
smartplaylists: refactor XML reading/writing
smartplaylists: use XMLUtils where possible
smartplaylists: use a browseable property for fields instead of extra types
smartplaylists: cosmetics
Merge pull request #2161 from Montellese/xsp_cleanup

smartplaylists: some cleanup