* bzrlib/tests/blackbox/test_branch.py: (TestRemoteBranch): New class ensuring that working trees are not created remotely.
* bzrlib/transport/sftp.py: (SFTPTransport.__init__): Make from_transport parameter private.
* bzrlib/transport/remote.py: (RemoteTransport.__init__): Make from_transport parameter private. (RemoteHTTPTransport.__init__): Make from_transport parameter private. (RemoteHTTPTransport.clone): Use _from_transport as a keyword parameter.
* bzrlib/transport/http/_urllib.py: (HttpTransport_urllib.__init__): Make from_transport parameter private.
* bzrlib/transport/http/_pycurl.py: (PyCurlTransport.__init__): Make from_transport parameter private.
* bzrlib/transport/http/__init__.py: (HttpTransportBase.__init__): Make from_transport parameter private.
* bzrlib/transport/ftp.py: (FtpTransport.__init__): Make from_transport parameter private.
* bzrlib/transport/__init__.py: (ConnectedTransport.__init__): Make from_transport parameter private. (ConnectedTransport.clone, ConnectedTransport._reuse_for): Use _from_transport as a keyword parameter.
* bzrlib/tests/commands/test_push.py: (TestPush.test_push): Don't add self.reset_hooks to cleanup, install_hooks did it.
* bzrlib/tests/commands/test_pull.py: (TestPull.test_pull): Don't add self.reset_hooks to cleanup, install_hooks did it.
* bzrlib/tests/commands/test_missing.py: (TestMissing.test_missing): Don't add self.reset_hooks to cleanup, install_hooks did it.
* bzrlib/tests/commands/test_merge.py: (TestMerge.test_merge): Don't add self.reset_hooks to cleanup, install_hooks did it.
* bzrlib/tests/commands/test_init_repository.py: (TestInitRepository.setUp): Don't add self.reset_hooks to cleanup, install_hooks did it.
* bzrlib/tests/commands/test_init.py: (TestInit.setUp): Don't add self.reset_hooks to cleanup, install_hooks did it.
* bzrlib/tests/commands/test_checkout.py: (TestCheckout.test_checkout): Don't add self.reset_hooks to cleanup, install_hooks did it.
* bzrlib/tests/commands/test_cat.py: (TestCat.test_cat): Don't add self.reset_hooks to cleanup, install_hooks did it. Skip the test until sftp transport/server problem is fixed.
* bzrlib/tests/commands/test_branch.py: (TestBranch.setUp): Don't add self.reset_hooks to cleanup, install_hooks did it.
* bzrlib/builtins.py: (_get_bundle_helper): New function. Factored out from merge and pull. (cmd_pull.run, cmd_merge.run): Use _get_bundle_helper. (_merge_helper): Add possible_transports as the last parameter.
* bzrlib/tests/transport_util.py: Renamed from bzrlib/tests/TransportUtil.py. Switch from ftp to sftp transport and server.