Implements correct handling of RequiresAssemblyFiles on properties and events (#83195)
The `RequiresAssemblyFiles` attribute can be present on property or event (in which case it applies to all accessors). The analyzer already handles this case, but the NativeAOT compiler didn't. This change implements the correct behavior in NativeAOT as well.
The implementation actually handles all Requires attributes this way now, but the other two are not allowed on properties or event (yet).
Had to add an optimization to the `GetPropertyForAccessor`/`GetEventForAccessor` as these are now called very frequently and they can be really slow.
Implements a new behavior with regard to IL3003 as described in the comment in the code as well as: #83235
Fixes https://github.com/dotnet/runtime/issues/71985.