[reflection] Set correct reflected type in MonoMethod.get_base_method
It can be the case that we have two different System.MonoMethod objects that both
point to the same native MonoMethod* but have two different reflected types.
(For example if we call derivedType.GetMethod("f") where f is virtual and
derivedType corresponds to a class that did not override a base definition. In
that case, the MonoMethod* corresponds to the parent type's f method, but the
reflected type is derivedType)
In this case, GetBaseDefinition will return the same MonoMethod* but the
reflected type of the result should be the base type, not the derived type.