Fix failure to generate ngen pdb in crossgen (#89415)
* Fix issue in R2R compilation where we would compile a method we could not generate a name for
- This is caused by the the type of a parameter having a generic parameter which derived from a type not found in the compilation information
- There are 2 fixes here
1. Change the logic for computing the set of compilable methods to require that all parameters are loadable
2. Change the implementation of loadable types to check generic instantiations for loadability
- This required implementing a stack system to check types for loadability, as loading can require circular references to be resolved.
- Add a check that the instantiation types of an instantiated generic are loadable.
- Generic interfaces on arrays work now, so enable the the constraint checking logic.