Backport of race detector from UE5.6 to UE5.2

For the 4th point here is an example of what forced me to make mentioned change. At the very beginning of the game it went to infinite loop:

[Inline Frame]FWindowsPlatformAtomics::AtomicRead(const volatile int * Src) [Inline Frame]UE::Core::Private::Atomic::Load(const volatile int * Element) __Thunk__Instrument_AtomicLoad_int32(int * Atomic, UE::Instrumentation::FAtomicMemoryOrder MemoryOrder) FWindowsPlatformStackWalk::InitStackWalkingInternal(void * Process, bool bForceReinitOnProcessMismatch) FWindowsPlatformStackWalk::InitStackWalking() PreInit()It is probably because FWindowsPlatformAtomics::AtomicRead called std::atomic which in turns contained (with means of custom clang) additional instructions to redirect a call to instrumentation