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.
Some Rakudo code was accidentally trying to tweak the method cache on Scalar, in turn triggering a bogus STable repossession. This fixes that particular issue, and also marks up other ops in hope of avoiding other similar ones.