Change Timer implementation on Unixes to use only one scheduling thread (dotnet/coreclr#7071)
* Change Timer implementation on Unixes to use only one scheduling thread
- Separated from https://github.com/dotnet/corert/pull/7066
* Address feedback from https://github.com/dotnet/corert/pull/7066
* Remove reference to s_lock
* Reduce work inside lock
* Move _id
* Fix duplicate timers in scheduled timer list, move info to TimerQueue
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e215e1faa8275c1468bcd059e29a530d2de0064