This makes use of the InvRequestTracker for tracking proof inventories.
This is similar to what is done for the transactions as demonstrated by
running the same functional tests.
Threre is still a lock order inversion found by TSAN for which I added
an exception: during shutdown the cs_main locks is hold before calling
`CConnman::StopNodes()`. This lock is held (as well as cs_orphans) for
the sake of fixing a potential lock order invertion already that could
only occur during shutdown.
Depends on D9562 and D9580.