Check that the threading API is enabled in the __rs_default constructor/
destructor in order to prevent the 2 argument form of std::random_shuffle from
calling mutex functions when they're disabled.
We might be able to use __libcpp_has_spawned_other_threads instead of
__libcpp_are_threads_enabled here, but there is a large amount of code that
runs between the mutex lock and unlock. Assuming that we never encounter a
situation where __rs_default::__rs_default() is run twice (once single-threaded
and once multi-threaded) before we run __rs_default::~__rs_default() once is
therefore a risky proposition.
Depends on D110349
should this guard go inside __libcpp_mutex_{,un}lock instead?