[netcore] Fix IsAssignableFrom (#15641)
Mono used to return `true` for these three cases (see System.Reflection.Tests.TypeTests.IsAssignableFrom tests):
```csharp
using System.Reflection;
using Xunit;
namespace ConsoleApp
{
public static class Program
{
static void Main(string[] args)
{
Assert.False(typeof(TI_Interface1[]).GetTypeInfo().IsAssignableFrom(
typeof(TI_StructWithInterface[]).GetTypeInfo()));
Assert.False(typeof(int?[]).GetTypeInfo().IsAssignableFrom(
typeof(int[]).GetTypeInfo()));
Assert.False(typeof(int[]).GetTypeInfo().IsAssignableFrom(
typeof(int?[]).GetTypeInfo()));
}
}
public interface TI_Interface1 { }
public struct TI_StructWithInterface : TI_Interface1 { }
}
```
Fixes https://github.com/mono/mono/issues/10848
Fixes https://github.com/mono/mono/issues/15080
Unrelated System.Reflection.MetadataLoadContext.Tests tests that don't fail anymore:
Close https://github.com/mono/mono/issues/15351
Close https://github.com/mono/mono/issues/15348
Close https://github.com/mono/mono/issues/15347
Close https://github.com/mono/mono/issues/15346
Close https://github.com/mono/mono/issues/15345
Close https://github.com/mono/mono/issues/15343
Close https://github.com/mono/mono/issues/15342
Close https://github.com/mono/mono/issues/15341
Close https://github.com/mono/mono/issues/15338
Close https://github.com/mono/mono/issues/15337
Close https://github.com/mono/mono/issues/15336