[Support/RWMutex] [RFC] Use std::atomic to replace platform-specific implementation

The old llvm::sys::RWMutex use platform-specific lock mechanism to implement read/write lock. For example, SRWLock on Windows and pthread read/write lock on *nix systems.

However, in comparison with the approach that implement read/write lock base on std::atomic, the old methods not only has potential performance issue(Sorry I can’t provide concrete evidence, any benchmark result is welcome) but also non-standard.

Before std::shared_mutex in C++17 got fully adopt by LLVM codebase, I think we can use std::atomic + std::conditional_variable approach like this:
to power RWMutex.