PVR: Resolve channel dummy in GUIWindowPVRTimerSettings

When using Backend channel number , use channel unique ID member instead channel number
PVR: Cosmetics in GUIWindowPVRTimerSettings
changed: Make network buffer more flexible/configurable
changed: Move read cache logic from DVDPlayer to CFile
fixed: Tab -> space
[win32] PeripheralBusUSB::PerformDeviceScan: rename parameter for clarity
[win32] PeripheralBusUSB: declare constant values as "const"
Values not supposed to be changed is better to declare as "const" to allow compiler optimize better.
[win32] PeripheralBusUSB::PerformDeviceScan: check for real memory allocation
[win32] PeripheralBusUSB::PerformDeviceScan: add check for presence of PID and VID
[win32] PeripheralBusUSB::PerformDeviceScan: Cosmetics
[win32] PeripheralBusUSB::PerformDeviceScan: optimization
[win32] PeripheralBusUSB::PerformDeviceScan: skip device on error and get rest of the devices; plus small optimization
[win32] PeripheralBusUSB::PerformDeviceScan: Allow reuse of buffer
instead of multiple frees/mallocs
[win32] PeripheralBusUSB::PerformDeviceScan: add fast detection of HID devices
[win32] PeripheralBusUSB::PerformDeviceScan: use function designed for device ID extraction
CFile: fix null pointer dereference in Stat() and Write()
[vfs] CFile: add null pointers checks
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.