NetworkCredential object intializer syntax used to work around MS/Mono .NET difference

The Microsoft flavor of .NET NetworkCredential has a constructor
overload that accepts SecureString as a parameter, whereas the Mono
flavor does not. Both of the implementations do have the parameters as
property setters, so instead object initializer syntax is used to
initialize the objects.