[MacPlatform] A whole bunch of fixes to Keychain

1. Fixed support for unicode strings (by manual marshalling)
2. Fixed InternetPasswords to use the protocol & auth type
3. Fixed the path argument to not contain the query or leading /
4. Provide a nice label string for the key when veiwed in Keychain Access
5. Fixed to call CFRelease() on returned items for Find/AddInternetPassword