refactor: remove boost::thread_group usage
Summary:
Post core#18710, there isn't much left using boost::thread_group, so should just be able to replace it with the standard library. This also removes the last use of boost::thread_interrupted.
After this change, last piece of Boost Thread we'd be using is boost::shared_mutex. See the commentary here as to why it may be non-trivial to swap that for std::shared_mutex in the near future.
This is a backport of core#21016 and core#22433
Test Plan:
With clang + debug and (separate run) TSAN
ninja && ninja check check-functional
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D10992