Implement nqp::nativecallrefresh() and related logic.

This is a first rough version that simply clears all the caches, all the time,
whenever a refresh is required. That's probably going to be a bit slow, as we
refresh all function arguments after the call, to guard for functions that
modify their arguments.

A better version of this would only invalidate the cached objects that are
actually different from the pointer in C memory.

As of this commit, we pass all the NativeCall tests.