Remove -feefilter option, factor its logic out and relase cs_main
Summary:
core#21992
Remove -feefilter option
Feefilter option is debug only and it isn't used in any tests, it's wasteful
to check this option for every peer on every iteration of the message handler
loop. refs core#21545
Factor feefilter logic out
Break SendMessages() function into smaller units to improve readability.
Adds lock assert, as round() isn't thread safe.
closes #21545
refactor: Release cs_main before MaybeSendFeefilter
This is a backport of core#21992 and core#24427
Depends on D12182
Test Plan:
With Debug clang and tsan
ninja all check check-functional
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Differential Revision: https://reviews.bitcoinabc.org/D12183