Turn InvRequestTracker into a template class
Summary:
This makes it possible to use it for tracking proofs and not only
transactions. Only uint256 or subclasses are supported as an InvId
due to the copy constructor.
Next steps are to update the names of the files, variable, comments and
public interfaces from tx to inv.
Depends on D9567.
Test Plan:
ninja all check-all ./test/functional/test_runner.py p2p_tx_download ninja bitcoin-fuzzers
Reviewers: #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Subscribers: deadalnix
Maniphest Tasks: T1611
Differential Revision: https://reviews.bitcoinabc.org/D9563