Replace boost::shared_mutex and shared_lock with their std:: equivalent in rwcollection.h
Summary:
This is possible since we use C++17.
Note that core raised some concerns about std::shared_mutex because of a couple bad glibc bugs that could cause deadlocks (https://github.com/bitcoin/bitcoin/issues/16684#issuecomment-726214696), so I checked that our release building version (Debian 10) was patched. As far as I can tell all our officially supported Linux are safe (all the ones we provide packages for). The only major distro I don't know for sure is CentOS 8, which runs a patched 2.28 version.
Ref T1634.
Test Plan:
ninja all check-all ./contrib/teamcity/build-configurations.py build-tsan
Reviewers: #bitcoin_abc, majcosta
Reviewed By: #bitcoin_abc, majcosta
Maniphest Tasks: T1634
Differential Revision: https://reviews.bitcoinabc.org/D9877