test: refactor: separate CreateBlock in TestChain100Setup
Summary:
This is so we can create blocks within unittests and have them
be processed by specific chainstates (instead of the just the
active one).
This is a backport of core#21526 [11/12]
https://github.com/bitcoin/bitcoin/pull/21526/commits/2705570109a2a90ecfd3f4180944498626fc2707#
Test Plan: ninja check
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D12269