[qa] Split out transaction creation from next_block in functional test
This allows the easy creation of a tx to be used in this test without requiring next_block() to be called.
next_block() changes self.tip as a side effect, which is unexpected when only a tx is desired. This forces the test
writer to call tip(...) after generating invalid txs to bring the tip back to a good state. This is a bad code smell.
Test Plan: test_runner.py abc-magnetic-anomaly-activation
Reviewers: deadalnix, schancel, #bitcoin_abc
Reviewed By: schancel, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D1930