[avalanche] Use a multi_index to track request so it is easy to determine which timed out.
Summary:
As per title. This also adds the requirement that an avaresponse needs to return the round it is responding to. This ensure it is possible to have several queries in flight for a given node if we want to.
Depends on D2122
Test Plan: Updated unit tests accordingly.
Reviewers: #bitcoin_abc, jasonbcox, Fabien
Reviewed By: #bitcoin_abc, jasonbcox, Fabien
Subscribers: Fabien, jasonbcox, teamcity, schancel
Differential Revision: https://reviews.bitcoinabc.org/D2137