charnames.t: Make EXPECTs more robust

We can use OPTIONS regex in test.pl to avoid tieing to a spcific line.
The random option is no longer needed, as the messages that were coming
out in random order have been removed by another commit.  The Execution
aborted messages also can be omitted, and the tests pass.
charnames pod: Nits
utf8n_to_uvuni() pod: Add clarifications
toke.c: Extract part of \N{} processing to new function

This is in preparation for making fatal the deprecations that this code
covers.

This code combines the first and final portions of the code that handles
\N{names}, leaving the middle intact.  There are no intentional logic
changes.  The code is moved and outdented as appropriate for not being
within nested "if's", and the comments are reflowed to fill 79 columns.
One declaration had a const added.

This causes the logic that checks for input name validity to be moved
from after everything is computed to doing it beforehand.  Since invalid
names are not currently fatal, there was no problem with checking them
after computing things, but a future commit will make them fatal, so
this saves the work of computing something that is erroneous.
charnames: Correct pod misstatement

Character names can contain Latin1 currently, not just ASCII.
Make \N{alias} deprecations fatal.

Since v5.12, using some non-name like characters, like commas, have
generated a deprecation warning.  The required 2 releases have been
made, and they are now being made fatal.
mktables: Create tables for charname beginning and follow-on

mktables is changed to add two new tables, one that matches the first
character in a character names, and one that matches continuation
characters.
regen/mk_PL_charclass.pl: Use mktables table for charname

This commit uses the mktables defined table for whether or not a
character is a legitimate charname continuation.  This will allow it to
be kept in sync with other code that needs the definition.

The only change this makes is to delete "colon" from being a legitimate
continuation character.  A colon was only accepted because it was used
in the paradigm for like "Greek: Alpha", and is not part of any
actual character name.
charnames: Don't accept illegal :aliases

Now that improper names for characters are an error, we can forbid them
at definition time.  For the time being allow a colon in the check that
continues to be run in toke.c.  This will be removed in a future commit.
toke.c: Don't validate core charnames output

charnames now refuses to allow invalid aliases to be installed, so we
only need to validate those that come from a custom translator.
perldiag: Add entry for unknown charname
toke.c Refactor S_get_and_check_backslash_N_name()

This code was recently factored out into a separate subroutine, and was
originally designed for a non-fatal deprecated warning.  This
refactoring just goes immediately to failure when an illegal character
is found.

(It also changes the code to use Perl standard coding practices)
toke.c: [RT#73022] Make \N{...} UTF-8 clean.
toke.c: Remove no-longer needed {...} and outdent correspondingly

No code changes
toke.c: Fail on malformed UTF-8 in \N{} input

The handler for \N{} can be user-supplied and charnames itself
shouldn't have to worry about malformed input.  This changes toke.c to
check for malformed input before calling the \N{} handler.
embed.fnc: Allow toke.c to call core_swash_init()

This internal function is allowed to just a few core functions
by #ifdef's in embed.fnc.  Expand the list to include toke.c, as it will
be needed in a future commit.
Validate above-Latin1 characters in \N{} aliases

This completes the process of allowing users to define their own aliases
for \N{} in any language they choose.  Names have some validation
applied so that they can't, for example, begin with something that is a
digit in some Unicode script.  Tests and documentation are included in
this patch.  The loop in toke.c that does the validation for
user-supplied translators is revamped, and the messages that are output
when there is an error are fixed to work with UTF-8.