Mark usage correctly when invoking special natives.

Two horrible bugs: one, don't call markusage() if we're parsing but not generating code. This misaligns all the native indexes in some scenarios, because ffcall() increments a global counter and the file output uses the same logic to increment its own counter.

Second, invoke_setter() was calling markusage() on the wrong function.