Extract inv saturation check and data request time computation
Extract inv saturation check and data request time computation

Summary:
The functions are extracted from the PeerManager::AddTxAnnouncement()
method so they can be reused for proofs announcements as well. They take
the InvRequestTracker as a parameter as well as a structure containing
the inventory specific parameters.

Part of T1611

Test Plan:
  ninja all check-all
  ./test/functional/test_runner.py p2p_inv_download

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Subscribers: deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D9598

Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc