Fix "longest-match" requirement on operators

We were running a token parser before the "notFollowedBy", which is clearly
wrong.  Now, tokenize a strict string then notFollowedBy.  This will require
that users write things like "... <oper> -<expr>" even though "<oper><expr>"
is accepted and "-<expr>" is an <expr>.

While here, add an explicit regression test for this bug.

This closes nwf/dyna#45 .