Update final NMutex timings
Simplify NSemaphore interface.
Use dispatch semaphores rather than Mach semaphores on Mac (x20 faster when avoid kernel).
Update includes.
Use faster intrinsics for atomic operations.
Remove defaults after setting.
Fix incorrect NTargetSemaphore::SemaphoreWait usage, returns a bool not an NStatus.
Simplify NThreadPool implementation.
Added NThreadUtilities::AtomicCompareAndSwapPtr.
Fix typo.
NThread::Sleep(kNTimeNone) now yields rather than sleeping.
NMutex now creates its semaphore on demand.
Use correct time in NTargetThread::Sleep.
Add simple back off to NMutex spin loop.
Fix compiler warning - redundant trailing ; after inline method.
Enabled additional gcc/clang warnings.