Handle servers proposing several authentication schemes.
* bzrlib/transport/http/_urllib2_wrappers.py: (AbstractAuthHandler.auth_required): Several schemes can be proposed by the server, try to match each one in turn. (BasicAuthHandler.auth_match): Delete dead code.
* bzrlib/tests/test_http.py: (load_tests): Separate proxy and http authentication tests as they require different server setups. (TestAuth.create_transport_readonly_server): Simplified by using parameter provided by load_tests. (TestAuth.test_changing_nonce): Adapt to new parametrization. (TestProxyAuth.create_transport_readonly_server): Deleted.
* bzrlib/tests/http_utils.py: (DigestAndBasicAuthRequestHandler, HTTPBasicAndDigestAuthServer, ProxyBasicAndDigestAuthServer): Add a test server proposing both basic and digest auth schemes but accepting only digest as valid.