[perl #114222] Make ‘use’ parse arguments in term context
(lexing context, that is)
use constant { () }
was a syntax error, because the lexer was guessing when { should be
a statement or hash.
It should not be doing that where a term is expected.
It was actually getting itself confused, and trying to parse the
argument list as a statement.
Setting PL_expect after force_next is ineffectual, as force_next
records the current value of PL_expect, arranging to have it
restored.
OPERATOR(USE) was setting PL_expect, but too late. So no we set
PL_expect explicitly in S_tokenize_use, before any forced tokens,
and use TOKEN(USE), which does not set PL_expect (as setting it
there has no effect).