Test that C<format 'Foo> is identical to C<format Foo>

When declaring a format, using a leading package separator requires careful
handling in the parser, to avoid confusion with a subroutine of the same
name.
Test that C<format ::Foo> is identical to C<format Foo>

This wasn't being explicitly tested.
Eliminate the last call to S_force_word() passing allow_initial_tick as TRUE.

Turns out that that final place using the allow_tick hack could get a tick,
because it was using the original buffer, rather than the already processed
identifier from scan_word.
toke.c: Remove the allow_initial_tick hack from S_force_word.

Over the years, every caller which used this hack had it progressively
turned off. Prior to this commit, only one call remained, which
ostensibly handled this case:

format 'STDOUT = ...

However, turns out that even there it was superflous, since a scan_word
a dozen lines before will've already turned all ticks into double
colons.
Inline a subset of S_force_word() into the KEY_format section of Perl_yylex().

In code handling formats, Perl_yylex() calls S_force_word() at a point where
it has already done half the work that S_force_word() does. The validation
Perl_yylex() has already passed, along with the normalisation performed by
S_scan_word() mean that all it actually needs from S_force_word() is the
token forcing. Inlining these lines decouples the code.
Merge the refactoring of toke.c's S_force_word.

The C level changes are invisible to anything outside of toke.c.
Nothing should notice this change.