Change tests to not modify Core_Root (dotnet/coreclr#23470)
Redesign tests that needed to modify Core_Root to no longer do so.
- Loader.FromNativePaths: Use `CORE_LIBRARIES` instead of `COREROOT`
- Loader.AssemblyDependencyResolver: Split out the invalid hosting test that needs hostpolicy to not be preloaded. Have `CoreRun` and `CoreShim` preload hostpolicy when a path to a hostpolicy is specified in the `MOCK_HOSTPOLICY` environment variable.
- Add a `CLRTest.MockHosting.targets` file that is imported when a test requires hostpolicy. It adds the reference to the mock hostpolicy and ensures that the `MOCK_HOSTPOLICY` environment variable is correctly set in the test scripts.
Fixes dotnet/coreclr#23429.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2516a53b75ef74b585cc507e07d39e37675993b9