[cstdstring] continue removing cstdstring

This removes most of the rest of CStdString. Still a little WIP but mostly done.
There are still some unchecked conversions from const char * to std::string in here, which will cause runtime crashes. This is because const char * can be NULL, which can be converted to std::string but runtime checking will fail causing an exception. I've covered anything that breaks for me, but it will depend on skin/settings/files/nfos, etc. Would appreciate more help to spot / fix any that are broken. Most of them seem to be around XML parsing (std::string somestring = xxx->Attribute("blah")). Difficult ones are where xxx->Attribute is passed through a function parameter to an std::string arg, etc.

It should be pretty safe to demise the CStdString.h header after this, although I've not gone so far as to try it yet.