mktables: refactor algorithmically-defined names into globals
This is in preparation for splitting the Name.pl and Name.pm files.
Prior to this patch, the code is copied into any file that needs it.
After this patch, it will be possible to store the code in Name.pm
once.
The main issue here is that Perl creates the Perl_charname file,
and the To/Name.pl file, both of which contain the Name property (the
first one also contains other things.) Normally the To/Name.pl is
suppressed, but things can be configured so it is output. The
subroutines that deal with algorithmically defined names are duplicated
in both files. Future commits will also have Unicode::UCD refer to
those subroutines. We do not want a calling program to load duplicate
or triplicate definitions of those subroutines, so we are refactoring
them into Name.pm, which can be included just once.