[avalanche] Create an event loop facility.
Avalanche will need to pool peers on a regular basis, which require an event loop. This introduces the event loop, but it does nothing so far.
Depends on D2042
Added unit tests.
Reviewers: #bitcoin_abc, jasonbcox, schancel, Fabien
Reviewed By: #bitcoin_abc, jasonbcox, schancel, Fabien
Subscribers: teamcity, Fabien, jasonbcox
Differential Revision: https://reviews.bitcoinabc.org/D2043