fix livelock happens when merging node restarted during the process.

Yeah, I know what you mean. There is an overhead to indirection. But if it was something like:
```
makeCluster();
splitCluster();
mergeCluster();
restartNode();
assertClusterState();
```
then I could still follow the flow and it would be really quick to understand what the test is doing. And as a nice side effect those methods might be reusable in other tests.