t/test.pl: Reword comment

There was a typo in this comment, but looking at it closely made me
realize that I didn't really understand it.  This clarifies it.
Unicode::UCD::prop_aliases(): Don't generate spurious warnings

Certain inputs to prop_aliases caused spurious warning.
utf8.c: Typo in comment, and clarification
utf8.c: Don't do redundant test

The test here for WARN_UTF8 is redundant, as only if one of the other
three warning categories is enabled will anything actually be output.
utf8.c: Fix warning category and subcategory conflicts

The warnings categories non_unicode, nonchar, and surrogate are all
subcategories of 'utf8'.  One should never call a packWARN() with both a
category and a subcategory of it, as it will mean that one can't
completely make the subcategory independent.  For example,

    use warnings 'utf8';
    no warnings 'surrogate';

surrogate warnings will be output if they are tested with a

    ckWARN2(WARN_UTF8, WARN_SURROGATE);

utf8.c was guilty of this.
ext/XS-APItest/t/utf8.t: White-space only

Indent and reflow to fit into 79 columns due to a new enclosing block in
the previous commit
regen/warnings.pl: Add comments

These note that warnings categories should be independent in the calls
to ckWARN() and packWARN() type macros.
Move a macro from utf8.h to handy.h for wider use.

Future commits will want this available outside utf8.h
handy.h: Add debugging assertion

This macro requires the input to be a hex digit, without testing.  It is
prudent to assert that under DEBUGGING.
handy.h: Add two macros

handy.h contains a macro that reads a hex digit and returns its value,
with fewer branches than a naive implementation would use.  This commit
just copies and modifies it to create two macros for
    1) just converting the hex value, without advancing the input; and
    2) doing the same for an octal value.
numeric.c: Use macros instead of strchr()

This replaces uses of strchr() (and hence its loop) with a simple array
lookup, mask, and test.  This causes an extra test to be needed later in
the hex decoding case to get the hex value, instead of a subtract
previously.  However these two tests are fewer than the average number
in strchr().