Globalization merge (dotnet/coreclr#9835)
* Merging the Globalization code in coreclr
This change is merging the globalization code used for Linux and Windows. here Is come notes about this merge:
- Mainly picked most of the code from the corefx folder as it is well formatted and cleaned up before and then tweaked the implementation to work on Windows
- Tries to reduce the dependencies from Globalization code on the VM. this will give flexibility to work on the code without worrying the VM
- Provided the missing implementation as I removed many internal calls to the VM. This also help in having .Net Native have complete implementation for .net standard 2.0
- We may need to have some small tweaks when merging this globalization code to corert
- We'll need to do some clean up for the code which not used anymore in the VM
* Fix ifdef's
* Fix field name in linux build
* Fix field name in linux compilation
* Misc cleanup & return randomized hashing
* Fix missing method for Linux
* one more minor fix
* Fix Linux build
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2c684d4094d00c715d67238cf4f4650248d4ded