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.