[remoting] Coop handles for proxy objects (#4208)
* [remoting] Use coop handles in several functions
- icall System.Runtime.Remoting.Proxies.RealProxy.InternalGetTransparentProxy
- mono_remote_class
- mono_remote_class_vtable
- mono_upgrade_remote_class
- mono_object_handle_get_virtual_method
- mono_object_handle_isinst
- mono_object_handle_isinst_mbyref
* [reflection] Use handles in System.RuntimeTypeHandle.IsInstanceOfType
* [runtime] Rewrite mono_object_castclass_mbyref
in terms of mono_object_handle_isinst_mbyref.
This is an external API function that isn't used inside the runtime.
* [runtime] Remove mono_object_isinst_mbyref_checked
It was a runtime internal funciton.
All of its former callers have been converted to use mono_object_handle_isinst_mbyref.