TScopeLock

Similar to existing [UE::TScopeLock](API\Runtime\Core\TScopeLock) but allows optional TryLock in which case caller is responsible to check if Lock succeeded or not with IsLocked().