Fixing the GetInterfaceMap tests for mono in the runtime repo. (#21094)
Addressing 4 issues for GetInterfaceMap and default interface methods
Only methods marked as virtual on on interface should be added to the
interface map. (no static or instance)
If the found target method is ambiguous (a diamond) the target is
null.
If the found target method's class in an interface, then the target
class is the interface class, else it is the class of the RuntimeType
(aka this)
If the found target method is abstract (reabstraction) then the
target is null.
https://github.com/dotnet/runtime/blob/
6072e4d/src/tests/reflection/DefaultInterfaceMethods/GetInterfaceMapConsumer.cs