Fix bug #265070 by providing a finer sieve for accepted redirections.
* bzrlib/transport/http/_urllib.py: (HttpTransport_urllib.__init__): Provides the implementation name.
* bzrlib/transport/http/_pycurl.py: (PyCurlTransport.__init__): Provides the implementation name.
* bzrlib/transport/http/__init__.py: (HttpTransportBase.__init__): Make the implementation a mandatory parameter. (HttpTransportBase._redirected_to.relpath): We need a dedicated relpath method to be able to cope with slight differences between the url sent and the url received from the server. (HttpTransportBase._redirected_to): Fix bug #265070 by accepting more redirection kinds and handling them: http <-> https and user specified in the url.
* bzrlib/tests/test_http.py: (Test_redirected_to): More complete tests for _redirected_to().