Add the ability for network splits to the Python test framework.

This patch extends the Python test framework with the ability to split and re-join the network "at will".  It uses this to extend the test for `getchaintips` (but the capability may be useful for other tests as well, e. g., reorg handling).

It also fixes a problem with `run_test` provided by `BitcoinTestFramework` (which is never used anywhere, though) and adds the nodes as member to the class (which seems like a good idea to me, but I can revert that change if that's not desired).

The second patch works around #5113.