[NuGet] Fix proxy credentials not requested for https package source.

Fix bug 19688 - Getting error "could not add packages" while creating
Xamarin.Forms solution after selecting secure web proxy (Https) on Mac.
https://bugzilla.xamarin.com/show_bug.cgi?id=19688

Source code changes:
https://github.com/mrward/nuget/commit/5540acd6583d30f28be278897dda98afadccd065

When a system wide proxy is configured for all https requests then a
requesting a url such as https://www.nuget.org/api/v2 would fail to
request proxy credentials on Mono so the user would not be prompted.
Instead the request would be retried 10 times and then fail.

This only affects https requests. A request made to a http url such
as http://www.nuget.org/api/v2 would request the proxy credentials
from the credential provider.

With Microsoft's .NET Framework a WebException is thrown with:

    WebException.Status = ProtocolError
    WebException.Response.StatusCode = ProxyAuthenticationRequired

Exception call stack:

System.Net.WebException:
    The remote server returned an error: (407) Proxy
Authentication Required.
   at System.Net.HttpWebRequest.GetResponse()

On Mono a WebException is thrown with:

    WebException.Status = SecureChannelFailure
    WebException.Response = null

Exception call stack:

System.Net.WebException: Error getting response stream (The remote server
returned a 407 status code.): SecureChannelFailure ---> System.Exception:
    at
System.Net.WebConnection.HandleError(WebExceptionStatus st, System.Exception e,
System.String where)
   at System.Net.WebConnection.CreateTunnel(System.Net.HttpWebRequest request,
System.Uri connectUri, System.IO.Stream stream, System.Byte[] ByRef buffer)
   at System.Net.WebConnection.CreateStream(System.Net.HttpWebRequest request)
   at System.Net.WebConnection.InitConnection(System.Object state)
   at System.Net.WebConnection.<WebConnection>m__20(System.Object state)
  at System.Net.WebConnection.HandleError (WebExceptionStatus st,
System.Exception e, System.String where) [0x00000] in <filename unknown>:0

To handle this there is now a special case which checks the exception
message for the string 'The remote server returned a 407 status code.'
when running on Mono.