miner: Remove use of CPFP in CreateNewBlock
Summary:
This removes the use of CPFP during block generation. Instead, transactions are evaluated for block inclusion on individual bases by modified fee rate.
Port of bchn#1078.
The code has been largely massaged, with 2 main differences:
- We use CTxMempoolEntry at some places instead of the iterator, because this is what our API returns/expects.
- The 1-time lambdas are removed to make the code easier to read (with a single exception).
There will be more cleaning up in a follow up.
Test Plan:
ninja all check-all
Reviewers: #bitcoin_abc, sdulfari
Reviewed By: #bitcoin_abc, sdulfari
Subscribers: sdulfari
Differential Revision: https://reviews.bitcoinabc.org/D13116