Improve the ZMQ functional test
Summary: While reading the code in this test I found the reorg case very confusing, and some code seems misplaced. This diff moves the code where appropriated, and add the validation interface callbacks in the comments so that it can be understood.
Test Plan:
./test/functional/test_runner.py interface_zmq.py
Reviewers: #bitcoin_abc, PiRK
Reviewed By: #bitcoin_abc, PiRK
Differential Revision: https://reviews.bitcoinabc.org/D16538