[marshal] Don't use a wrapper for mono_marshal_set_last_error
This fixes assertions due to
d0e103fcb4ed3f0ba867052f9b5a4ac71faa0226 in
cooperative GC mode.
mono_marshal_set_last_error is called from a P/Invoke wrapper just after the
pinvoked method returns before we transition the thread state back to running
from blocking. If mono_marshal_set_last_error had a wrapper, we would invoke
the trampoline (mono_magic_trampoline) to JIT the wrapper while in blocking
mode, which would trigger the assertion.