CStdString removal part1

Righto, round 1 of @notspiff's work.  There's another larger one to come once this is in, which I may split further for review purposes. This one is mostly straight-forward.  Assumptions made primarily are paths are case-sensitive (we use them as such all over the show).

The commits marked REVIEW have some detail that's not completely obvious - most of the rest are pretty obvious.

One thing I'm not sure about is whether URL protocol options, used mainly with CurlFile, but also a couple of other places are case-sensitive or not.  They're certainly mixed-case.  Obviously if we compare two that are of different cases as the entire path they'll be different but this possibly doesn't hurt.  @elupus any idea?

Another thing is there's a settings option fillter that I've made case-sensitive, where perhaps it shouldn't be (the localizestrings commit) - @Montellese?

@Karlson2k Perhaps you could take a quick look through - as I say, the vast majority are not controversial: the goal here is to get rid of it, not to make things optimal or anything like that, so I haven't done that except where there was a very cheap win (hardly ever).  Obviously in some cases we include CStdString in unrelated areas (particularly the include) to keep the impact down: It'll be all gone once the next series are in.