IMO doing + ".bak" all over the place is much more error prone than introducing a method
```
std::string URIUtils::GetBackupPath(const std::string &path)
```
which hides away the ".bak" and reduces code duplication. IMO the method shouldn't be part of CSettings or something like that though.