message: refactor: Replace RecursiveMutex with Mutex in Shutdown()
diff: #include <compat/sanity.h>
  #include <consensus/validation.h>
  #include <fs.h>
  +#include <hash.h>
  #include <httprpc.h>
  #include <httpserver.h>
  #include <index/blockfilterindex.h>
  #include <script/sigcache.h>
  #include <script/standard.h>
  #include <shutdown.h>
  +#include <sync.h>
  #include <timedata.h>
  #include <torcontrol.h>
  #include <txdb.h>
  #include <util/threadnames.h>
  #include <util/translation.h>
  #include <validation.h>
  -#include <hash.h>
  -
  #include <validationinterface.h>
  @@ -167,11 +167,10 @@ void Interrupt(NodeContext& node)
  void Shutdown(NodeContext& node)
  {
  + static Mutex g_shutdown_mutex;
  + TRY_LOCK(g_shutdown_mutex, lock_shutdown);
  + if (!lock_shutdown) return;
  LogPrintf("%s: In progress...\n", __func__);
  - static RecursiveMutex cs_Shutdown;
  - TRY_LOCK(cs_Shutdown, lockShutdown);
  - if (!lockShutdown)
  - return;
  /// Note: Shutdown() must be able to handle cases in which initialization failed part of the way,
  /// for example if the data directory was found to be locked.
  