Avoid bleeding authentication credentials into logs.

API Changes: URL:GetWithoutUserDetails() ->
URL::GetWithoutUserDetails(bool redacted=false)

Replacing std::string for CStdString, for the relevant callstack below
CURL::getWithoutUserDetails(), mainly URIUtils, CStdString functions are kept
 as wrappers around the std::string versions.

Manual code reviews of all the affected files in filesystem. I've made semi conservative decisions on where to change the code. This means that some instances may have slipped through the cracks, since I've tried to avoid changing code I didn't understand.

I've looked into the following systems:
-Samba
-FTP
-SFTP
-HTTP
-WebDAV
-Stacks
-NFS (N/A)
-UPnP (N/A)
-RSS (N/A)

In addition, I've tried to mess around to find leaks in different other parts of the system.

I see this as an incremental commit, removing almost all leaks in the normal codepaths. There may still be some leakage in paths I don't commonly use.
Passed scan of 40TB of well-formed content, without any leaks.
Added regression tests for URL::GetWithoutUserDetails()
Merge pull request #3324 from bfg1981/Privacy

Avoid bleeding sensitive information into logs.