refactor: Make CAddrMan::cs non-recursive
Summary:
This PR replaces RecursiveMutex CAddrMan::cs with Mutex CAddrMan::cs. All of the related code branches are covered by appropriate lock assertions to insure that the mutex locking policy has not been changed by accident.
Backport of core#19238.
Test Plan:
With Debug and Clang:
ninja all check-all
Run the TSAN build.
Reviewers: #bitcoin_abc, sdulfari
Reviewed By: #bitcoin_abc, sdulfari
Subscribers: sdulfari
Differential Revision: https://reviews.bitcoinabc.org/D12257