refactor: Replace RecursiveMutex with Mutex in warnings.cpp
refactor: Replace RecursiveMutex with Mutex in warnings.cpp

Summary:
> The functions that could lock this mutex, i.e., SetMiscWarning(), {S,G}etfLargeWorkForkFound(), SetfLargeWorkInvalidChainFound(), GetWarnings(), do not call itself recursively, and do not call each other either directly or indirectly. Therefore, the g_warnings_mutex could be a non-recursive mutex.

This is a backport of [[https://github.com/bitcoin/bitcoin/pull/19220 | core#19220]]

Test Plan:
```
CC=clang CXX=clang++ cmake .. -DENABLE_SANITIZERS=thread -GNinja
ninja all check check-functional
```

Reviewers: #bitcoin_abc, majcosta

Reviewed By: #bitcoin_abc, majcosta

Subscribers: majcosta

Differential Revision: https://reviews.bitcoinabc.org/D9311

Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc,Bitcoin-ABC/bitcoin-abc