[Core] Fix the credential store to store both request and proxy credentials

Up until now, it would not store proxy credentials at all.
[WindowsPlatform] Null check the URI in WindowsProxyCredentialProvider
[WindowsPlatform] Fix the password provider to read/write properly

Before, we would either not write anything, come up with read errors,
or read garbage. Fix everything by following an MSDN blog example,
learning a bit about marshalling, and marshalling the struct
correctly.
[Core] Don't cache proxy credentials if no proxy is set.
[Core] Wrap the response properly.