Moved Semaphore.cs and Semaphore.Windows.cs to shared (dotnet/coreclr#18597)
* TryOpenexistingworker and createsemaphore moved to semaphore.windows.cs
* Common code moved to verifyCounts and CreateMutexCore and then moved to semaphore.windows.cs
* CreateSemaphore merged with CreateSemaphore core
* Moving interop functions from win32Native to inteop.kernel32
* Moving the files to shared
* Minor Formating
Commit migrated from https://github.com/dotnet/coreclr/commit/
84b6f1da3338df672347732a0ea5f7cf4a3e43cf