perlapi: Clarify two entries
reg_mesg.t: Add comments; remove trailing white-space
toke.c: Update, clarify comments, fix some indents
toke.c: Extract into a named string constant

This moves a literal double-quoted string into a const variable, so that
it only need be written out once, and its  size can be compiler-computed
and used as another const variable.  Hence, mnemonics are used instead
of bare numbers.
re/pat.t: Add some EBCDIC tests

These test the special handling of ranges in bracketed character classes
where the endpoints are alphanumeric literals, but there is a code point
gap in the range that would otherwise match but shouldn't.
\N{...} now treated as literal for EBCDIC qr/[...]/

Perl specially handles some ranges in bracketed character classes to
deal with gaps between, for example, "i" and "j".  The next commit will
better document this.  This special handling is only invoked when both
ends of the range are literals.  This commit extends that so that a
\N{...} construct is considered a literal for this purpose.

There really shouldn't be any difference in the handling of "A" vs
"\N{LATIN CAPITAL LETTER A}".  And this commit makes them be handled the
same.

It further makes \N{U+0041} be treated the same.  The programmer here is
effectively saying "A", and invoking the Unicode definition for it, so
it stands to reason that the range s/he wants should also be interpreted
the Unicode way.
Document special EBCDIC [...] literal range handling
regcomp.c: Fix typo in comment
regcomp.c: Fix EBCDIC-only memory leak
Fix EBCDIC-only bug with /[...]/

Perl has special handling with ranges in bracketed character classes
when the end points are either both uppercase or both lowercase.  This
used a different test which is incorrect.  The consequences were that a
some Latin1 ranges would be rendered as empty.