Add unit tests for signals generated by ProcessNewBlock()
Summary:
After a recent bug discovered in callback ordering in MainSignals,
this test checks invariants in ordering of
BlockConnected / BlockDisconnected / UpdatedChainTip signals
This is a partial backport of Core PR13023 : https://github.com/bitcoin/bitcoin/pull/13023/commits/dd435ad40267f5c50ff17533c696f9302829a6a6
Depends on D3436
Test Plan:
make check
Reviewers: #bitcoin_abc, jasonbcox
Reviewed By: #bitcoin_abc, jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D3437