Finish (almost) remote refactoring. Test suite passing.
* bzrlib/transport/remote.py:
(RemoteTransport.__init__): Refactoring of connection
sharing. This is incomplete if we want to achieve connction
sharing across reconnections but enough to make the test suite
pass.
(RemoteTransport.clone): Deleted.
(RemoteTransport._build_medium): Default implementation (mainly
used for tests).
(RemoteTransport.get_smart_client,
RemoteTransport.get_smart_medium): Give back the shared medium
instead of the private one. This is incomplete but a step in the
right direction.
(RemoteTCPTransport._build_medium,
RemoteHTTPTransport._build_medium): Create and set the connection
if not cloning.