Do not rely on the precise error wording

'No such file or directory' is fine on Linux but other UNIXes might
say it differently, for example 'A file or directory in the path name does not exist'.
Make OP_METHOD* to be of new class METHOP

Introduce a new opcode class, METHOP, which will hold class/method related
info needed at runtime to improve performance of class/object method
calls, then change OP_METHOD and OP_METHOD_NAMED from being UNOP/SVOP to
being METHOP.

Note that because OP_METHOD is a UNOP with an op_first, while
OP_METHOD_NAMED is an SVOP, the first field of the METHOP structure
is a union holding either op_first or op_sv. This was seen as less messy
than having to introduce two new op classes.

The new op class's character is '.'

Nothing has changed in functionality and/or performance by this commit.
It just introduces new structure which will be extended with extra
fields and used in later commits.

Added METHOP constructors:
- newMETHOP() for method ops with dynamic method names.
  The only optype for this op is OP_METHOD.
- newMETHOP_named() for method ops with constant method names.
  Optypes for this op are: OP_METHOD_NAMED (currently) and (later)
  OP_METHOD_SUPER, OP_METHOD_REDIR, OP_METHOD_NEXT, OP_METHOD_NEXTCAN,
  OP_METHOD_MAYBENEXT

(This commit includes fixups by davem)
Deparse inverted for(;;) condition correctly

This is wrong:

$ perl -MO=Deparse -e 'for($a;!$b;$c){}'
for ($a; $b; $c) {
    ();
}

-e syntax OK

What happened to the bang?

This was broken in 5.12 by edbe35ea95.
perl5220delta: Mention mods from #122814
Add linked mods to known_pod_issues