Xml attribute tidy up

This includes fix for possible crashes (null ptr deref) which should be backported to Gotham, plus additional fixes for not reading Attribute's into CStdString (which has null ptr protection) so that when we replace with std::string we don't introduce a bunch of further null ptr deref's.

It mostly touches various settings:

1. Addon settings.  Currently the 'type' attribute has been read case-sensitive in some spots, and case-insensitive in others.  I've changed to case-sensitive everywhere.

2. Addon settings.  A few other attributes are already case-sensitive (e.g. options) so I've changed a couple others where I found them.  In particular, subsetting='true', the true is case-sensitive, and where `$HOURS` is used, that is now case-sensitive as well.

3. The `bydate` attribute of AdvancedSettings tvshow matching regexp is now case-sensitive.

4. Skin settings.  We write these to guisettings.xml, so I've made the type case-sensitive.

Otherwise, just general cleanup.

This needs to go in before the next CStdString removal, so sooner the better on reviews please!