Make _NARG work

Most of the work for it is already there, but the symbols defined before the first pass get deleted at the start of the second pass. Adding back _NARG after the removal occurs allows it to be used. It is 0 if it's used outside a macro.