optimize only-0s list_i
twiddle NQPCursor.MATCH a bit:

most of the times we don't actually have positionals,
so keep a shared empty list.
almost all of the keys start with non-$, so quick-check for that.
iscclass is probably faster than the eq checks were, so do it first