Refactor mutiple connections detection and fix false positives. Only merge and pull are still bougs.
* bzrlib/tests/commands/test_push.py: (TestPush.test_push): Reset connections after branch and tree creation.
* bzrlib/tests/commands/test_missing.py: (TestMissing.test_missing): Reset connections after branch and tree creation.
* bzrlib/tests/commands/test_merge.py: (TestMerge.test_merge): Reset connections after branch and tree creation.
* bzrlib/tests/commands/test_checkout.py: (TestCheckout.test_checkout): Reset connections after branch and tree creation.
* bzrlib/tests/commands/test_cat.py: (TestCat.test_cat): Reset connections after branch and tree creation.
* bzrlib/tests/commands/test_branch.py: (TestBranch.setUp): Reset connections after branch and tree creation.
* bzrlib/tests/TransportUtil.py: (TransportHooks.__init__): Use _set_connection instead of _get_FTP. (ConnectionHookedTransport): Replace _get_FTP by _set_connection. (TestCaseWithConnectionHookedTransport.setUp): Replace _get_FTP by _set_connection. (TestCaseWithConnectionHookedTransport.reset_connections): New method. (TestCaseWithConnectionHookedTransport.set_connection_hook): Replace get_connection_hook.