[jit] Add debug option for using clr memory model (#15019)
* [jit] Move value storing in a new write barrier emitting method
Brings together ref storing and the write barrier generation.
* [jit] Add debug option to attempt using the CLR memory model
Which prevents reordering of stores. Part of the way this is done on CoreCLR is by adding memory barriers to the write barrier, so we attempt a similar behavior.
This is not a complete implementation.
* [build] Add memory model flag to csc when building the bcl
This should prevent random crashes during the build
* [build] Add memory model flag to compiler server
* [build] Add memory model flag to test building