* bzrlib/transport/http/_urllib2_wrappers.py: (AbstractHTTPHandler.do_open): Catch httplib.UnknownProtocol. Add some comments.
* bzrlib/transport/http/__init__.py: (BadProtocolRequestHandler): New class testing protocol validity.
* bzrlib/tests/test_http.py: (TestWallServer, TestBadStatusServer.create_transport_readonly_server, TestInvalidStatusServer): Use a readonly server. (TestBadProtocolServer, TestBadProtocolServer_urllib): New classes testing protocol version validity.
* bzrlib/tests/__init__.py: (TestCaseWithMemoryTransport.create_transport_readonly_server): New hook allowing daughter classes to create specialized servers.