handy.h: Change EBCDIC isSPACE() to include \v

This was missed in commit 075b9d7d9a6d4473b240a047655e507c8baa6db3
handy.h: Remove unused macro

This macro expands to a function or macro call that does not exist, so
this macro itself can't be being used by anyone.  It also doesn't fit
the paradigm of the other macros above it, being defined in terms of
uni instead of uvchr; nor does it really gain anything, since \s is a
posix space under locale.  The \f also appears to be a typo, based on
the commit message, it should have been \v.
handy.h: Define some locale macros for all inputs

Prior to this commit, if you called these macros with something outside
the Latin1 range, the return value was not defined, subject to the whims
of your particular C compiler and library.  This commit causes all the
boolean macros to return FALSE for non-Latin1 inputs; and all the map
macros to return their inputs
handy.h: Define some macros using a base macro

This allows the common parts of the definitions of these to all use the
same logic
handy.h: Avoid function calls in 2 macros

There is a macro that returns the same as the function call previously
used in the SPACE macro; and nothing above Latin1 can possibly match the
CNTRL macro
handy.h: Make some macros more time efficient

These macros check if a UTF-8 encoded character is of particular types
for use with locales.  Prior to this patch, they called a function to
convert the character to a code point value.  This was used as input to
another macro that handles code points.  For values above the Latin1
range, that macro calls a function, which converts back to UTF-8 and
calls another function.

This commit changes that to call the UTF-8 function directly for
above-Latin1 code points.  No conversion need be done.  For Latin1 code
points, it converts, if necessary, to the code point and calls a macro
that handles these directly.

Some of these macros now use a macro instead of a function call for
above-Latin1 code points, as is done in various other places in this
file.
handy.h: Add synonym for some macros

For some time, WORDCHAR has been preferred to ALNUM because of the
nearly identical ALNUMC which means something else (the C language
definition of alnum).  This adds macros for WORDCHAR, while retaining
ALNUM for backwards compatibility.

Also, another macro is redefined using WORDCHAR in preference to ALNUM
handy.h: Add some missing macros

Not all character classifications had macros.  This commit adds all but
one of the missing ones.  It will be added in a separate commit.
Add functions for getting ctype ALNUMC

We think this is meant to stand for C's alphanumeric, that is what is
matched by POSIX [:alnum:].  There were not functions and a dedicated
swash available for accessing it.  Future commits will want to use
these.
handy.h: Fix up Posix Space macros

Under the default Posix locale, \s and [[:space:]] are the same, so
there is no need to try to make sure that [[:space:]] matches a vertical
tab -- it already does.  Also one of the macros had a typo, trying to
add a form feed instead of a vertical tab
utf8.c: Change is_uni_idfirst_lc() to use Perl's defn

The Perl definition is slightly more restrictive of what Unicode's
idfirst is.  We should use our definition consistently.
XS-APItest: Add tests for handy.h

This adds missing tests for the locale versions of the macros in
handy.h, plus some to make sure that WORDCHAR and ALNUM are synonyms
handy.h: White space only

This makes things line up in columns and not exceed 80 columns in width.
ext/XS-APItest/t/handy.t: White space only

Indent a newly formed block
handy.h: Fix isBLANK_LC_uni()

This macro can be defined in terms of the foo_uvchr() version.  It
should be correct on platforms that have an isblank() function in the C
library.  I don't know why this macro exists.  It doesn't correspond to
any of the other ones (though a recent commit removed one it did
correspond to, but which can't have been in use because it expanded to a
non-existent function).  I'm leaving it in just for back compat.  I did
not add tests for this macro.
handy.h: Make clear that macro is only true in ASCII range

I don't believe there are platforms that this is wrong on, but using the
_A suffix clearly indicates that only ASCII-range characters can match
this, like its cohort macros that surround it.
handy.h: Sort macros in groups alphabetically

This should make it easier to find things.  No code changes, but there
are some comment changes
perlapi: Remove a bunch of functions from API

These functions are undocumented.  We add a flag in embed.fnc to stop
them from being listed as undocumented functions suitable for
documenting.  They should not be used explicitly, but exist only to aid
macros in handy.h that need functions to handle portions of their
functionality.  Thus the handy.h macros should be used; not these.
handy.h: Change documentation for perlapi

This documents several more of the character classification macros,
including all variants of them.  There are no code changes.

The READ_XDIGIT macro was moved to "Miscellaneous Functions", as it
really isn't character classification.

Several of the macros remain undocumented because I'm not comfortable
yet about their names/and or functionality.
utf8.c: Add locale support to functions

These functions were marked as XXX to add locale support.  It was a
simple matter to do.  We support locales for code points under 256,
so just call the appropriate macro for those, returning the Unicode
interpretation for those over 255.