Fixes for bug#54388 "InternalsVisibleTo is case sensitive" * Fix the JIT so that access checks are performed on constructors * Use ASCII case insensitivity when performing cross-assembly access checks for internals * Update mcs to use case-insensitive comparisons when evaluating InternalsVisibleTo attributes for access checks (matching the new runtime behavior, and the behavior of roslyn)
This issue is actually a pair of bugs:
1. We don't perform any access checks for constructors (which can give a false impression of our behavior for this issue). This means that you can also invoke private constructors from other assemblies.
2. InternalsVisibleTo checks are done using strcmp instead of a case-insensitive comparison.