Add NTLM feature detection and more tests (dotnet/corefx#35200)
This PR works toward the goal of our Enterprise Scenarios. I added logic in the Unix
PAL gssapi layer to detect whether the NTLM plugin is installed. This is useful both
in the product code (to return better exception messages) and the test code (to
skip NTLM tests if needed).
Refactored some of the Common System.Net.Configuration logic for tests. Added new
environment variable logic to separate between domain-joined and standalone server
environments.
Add new tests to validate NTLM end-to-end connectivity. Opened some new issues
discovered along with way regarding HTTP/2 and Windows authentication.
To run these new tests simply set the 3 environment variables to point to the
standalone windows server environment. For example, on Linux:
```
export COREFX_WINDOWSSERVER_HTTPHOST=somewindowsmachine.contoso.com
export COREFX_NET_SERVER_USERNAME=someusername
export COREFX_NET_SERVER_PASSWORD=somepassword
```
I have already deployed a standalone Windows server for these tests but
we're not ready yet to have the tests always run in CI.
Contributes to dotnet/corefx#34878
Commit migrated from https://github.com/dotnet/corefx/commit/
fe6f55b496489dbd02cdd207c0b1f9112b560763