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.
[settings] fix dealdlock in SettingsManeger introduced in #3512

As sugested by Montellese, using a shared lock fixes the deadlock in
SettinsManeger.
Merge pull request #3558 from huceke/fixups

[settings] fix dealdlock in SettingsManeger introduced in #3512
remove unused CProfilesManager::OnSettingsLoading()
videodb: remove commented out code
fixed: use the proper make instead of calling 'make' directly

fixes builds on freebsd
cmake buildsystem
sq
add tests needed by new u16 string stuff
wrap cmyth properly
move some more install related stuff to install script
move all install code to platform install script
allow building without doxygen
fix building with yajl2
generate scripts in a subdir to avoid problems configuring in top dir
properly wrap library.xbmc.foo
link to threading lib
remove duplicate mpeg2 entry