Simplify the new mempool transaction validation callback
Summary: The callback calling code is actually duplicated due to package handling, which makes it difficult to reason about. Simplify this by calling it when the transaction is actually added to the mempool. Also increase the test coverage for the callback by using chronik if possible for the edge cases functional tests.
Test Plan:
With bitcoin-qt and chronik enabled:
ninja check-all
Reviewers: #bitcoin_abc, bytesofman
Reviewed By: #bitcoin_abc, bytesofman
Differential Revision: https://reviews.bitcoinabc.org/D17472