This adds a new module (unused for now) which defines TxRequestTracker, a data structure that maintains all information about transaction requests, and coordinates requests.
Partial backport of core#19988:
https://github.com/bitcoin/bitcoin/pull/19988/commits/da3b8fde03f2e8060bb7ff3bff17175dab85f0cd#diff-e3e574cb6dabe01b6149f9d121fc7e286abb49c04442a0a816977ef2a4103ed8
This also includes a GCC workaround that would cause the build to fail:
Partial backport of core#20162. This backport will be completed as
PR19988 is ported because it impacts the code from other commits.
Since this is a lot of changes the tests are done in separate diffs (as
per the PR commits). For now the code is not used so this is safe.