embed.fnc: Restrict access to non-public functions

These two functions added earlier in 5.17 are not meant to be public.
This moves them so they are defined only for certain core files, and
marks them as experimental should they show up in any documentation.
utf8.c: Fix potential bug

Commit 87367d5f9dc9bbf7db1a6cf87820cea76571bf1a changed
core_invlist_init() to return not the swash, but the swash's inversion
list if small enough, allowing a faster binary search than a slower hash
look-up on small lists.  Calls to two functions that access swashes were
changed to make this transparent.  However, there are two more such
functions which were overlooked, and need to be upgraded to provide such
transparency, should they ever be called on swashes that have been
converted.  This commit fixes one of them, but leaves the other, with a
comment, as it's much harder to do, and will not ever likely be
called on such a swash (it is for internal core use only).
utf8.c: White-space, comments only
utf8.c: Request function to be inline

This could remove a layer of function call overhead for this small
function, (if the compiler doesn't already choose to inline it).
handy.h: Define some macros for consistency

isWORDCHAR_uni() and isWORDCHAR_utf8() are defined for consistency with
the other isWORDCHAR...() macros

The isALNUM_foo() versions are retained for backwards compatibility
handy.h: Convert 3 macros to standard form

These three outliers don't have to be.  They can use the same
constructed form as the others surrounding them.  One requires a
temporary #define which will be removed in a future commit
handy.h: Use class numbers instead of macros in macro generation

This refactors the macro builder macros to accept a class number instead
of a macro name.  This is easier to understand than having to use
CAT2(), and it allows for a potential future commit to use these at
run-time, given a class number.
handy.h: Mark more clearly things for internal-only use

This changes the names of some macros to begin with an underscore, and
changes comments to more clearly indicate things which aren't to be used
outside the Perl core.
handy.h: white-space, comments only
regcomp.c: Revise debugging function

I use this function for debugging, but it is normally commented out.
This commit adds an entry to embed.fnc for it that can quickly be
uncommented, and makes some revisions to the function itself.
regcomp: Change name of #define to better reflect its purpose

ANYOF_MAX is used for two different purposes; this separates them and
creates a separate #define for one of them.
regcomp.sym: Change regkind for NPOSIX regnodes

It turns out that it is more convenient for the complement of a node to
have a regkind that is also the complement of a node.  This creates
slight inconveniences that are included in this patch, but will help
further patches.
regcomp.h: Make some #defines sequential

ANYOF_MAX is used as the upper boundary in loops.  If we keep it larger
than necessary, the loop does extraneous iterations.

The #defines that come after ANYOF_MAX are moved down to start with it.
This is useful in a later commit that will create an entry in
l1_char_class_tab.h for vertical white space determination.
regexes: Add \v to table of latin1 char classes

This will be used in future commits to allow \v and \V to be treated
consistently with other character classes.  (Doing the same for \h isn't
necessary, as it matches identically to [:blank:] in the entire Unicode
range.)
regcomp.c: Revise comment
regen/regcharclass.pl: Add 'cp_high' macro type

This generates a macro whose code point parameter must be above Latin1.
It will be used in future commits to avoid redundant checks
Unicode::UCD.pm: Fix bugs in undocumented binary search function

This function is undocumented mostly because I was afraid it would be
buggy, as many such implementations are.  See:
http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html
(I recommend reading that link; it is instructive, entertaining, and
humbling.)

And it turns out I was right that I was wrong (in my original code).  A
test was inexplicably reversed, and another missing.
XS-APItest/t/handy.t: Refactor

This takes advantage of the Unicode::UCD::prop_invlist() function,
introduced in 5.16, to replace the hard-coded tables of Unicode values
previously used  (and also relying on recent fixes to an undocumented
function from that module ).  It als changes to give better messages if
the evals fail.  Using prop_invlist() allows us to easily extend to all
tests testing of some non-Latin1 code points.
regexec.c: Add PERL_UNIUSED_VAR()

This is an attempt to silence warnings on some compilers.
embed.fnc: Make a function global

This function is supposed to only be called internally, but it is called
by a macro that has global scope, so it also has to be global.