Split cs_main lock when sending getdata between inv types
Summary:
It is necessary to release the lock for dealing with proof getdata
requests. The state does not need to be accessed in the second lock
block, which should give confidence that this will not cause any issue.
Depends on D9592.
Test Plan:
With clang and debug:
ninja all check-all
Run the tsan build.
Reviewers: #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Differential Revision: https://reviews.bitcoinabc.org/D9593