abandonconflict.py intermittently fails (about 1 time out of 25 for me). The failure is caused by a race between shutting down node0 and a transaction being INV'ed from node0 and getting into node1's mempool.
The original intent was that node0 and node1 should be disconnected before sending the transaction in node0. However, the call to disconnectnode() doesn't actually disconnect the nodes because there are two P2P connections between node0 and node1 (connect_nodes_bi() madness).
This PR change the direct call to disconnectnode() into a call to the test_framework/util function disconnect_nodes() which fully disconnects the nodes. It also asserts that node1's mempool is empty after stop-starting node0.
@TheBlueMatt