[avalanche] Poll for transactions added to the mempool
Summary:
This is limited to tx reaching the mempool for now, which is incomplete, and limited to the poll gated behind a flag off by default.
This is done via the validation interface so get rid of the incredilbly complicated locking scheme that makes it impossible to not cause deadlocks if called from validation.cpp or txmempool.cpp. This is fine though because it's only starting the vote on the item and doesn't need to access the mempool, nor does it need to ensure consistency with cs_main + mempool.cs.
Depends on D15270.
Test Plan:
./test/functional/test_runner.py abc_p2p_avalanche_transaction_voting
Reviewers: #bitcoin_abc, PiRK
Reviewed By: #bitcoin_abc, PiRK
Subscribers: PiRK, bytesofman
Differential Revision: https://reviews.bitcoinabc.org/D15272