"\cX" where X is non-printable is now fatal

It had been deprecated, scheduled to be removed in 5.22.
dquote_static.c: Clarify code

We output the message when there is a printable ASCII character, so use
that as the test instead of complementing the test for a control.  This
makes the code somewhat clearer.
Unicode::UCD.pm: Pod clarifications and nits
regexec.c: Fix some EBCDIC problems

We were testing for UTF-8 invariant, when we should have been testing
for ASCII.  This is a problem only on EBCDIC platforms, where they mean
two different sets of code points.
handy.h: Use some common macros for ASCII/EBCDIC

It turns out that the EBCDIC definitions can be made the same as the
ASCII ones, so this moves the ASCII definitions to the spot where other
ones common to the 2 platforms reside, and removes the EBCDIC ones.  In
other words it combines separate definitions into common ones.
handy.h: Comments, white-space only
utfebcdic.h: Comment changes only

Clarifications and typo fix.
Fatalize splitting '(?' and '(*' in regexes

Inserting spaces or comments between the '(' and '?' or '*' has been
deprecated since v5.18.0.
charnames: Eliminate need to sync code in two places

This refactors the code so that it doesn't have to be kept in sync
with other code.
Fatalize deprecated \N{} definitions

Having a sequence of multiple spaces in a charnames alias name
definition or having trailing spaces in it have been deprecated since
5.18, and it is now time to make them fatal.
Fix bug where charnames xlator doesn't return utf8

A user-supplied charnames translator for \N{} processing doesn't have to
return in UTF-8.  Prior to this patch, the code in toke.c assumed it
did.
Deprecate NBSP in \N{...} names

This is currently allowed, but is non-graphic, and is indistinguishable
from a regular space.  I was the one who initially allowed it, and did
so out of ignorance of the negative consequences of doing so.  There is
no other precedent for including it.
/x in patterns now includes all \p{PatWS}

This brings Perl regular expressions more into conformance with Unicode.
/x now accepts 5 additional characters as white space.  Use of these
characters as literals under /x has been deprecated since 5.18, so now
we are free to change what they mean.

This commit eliminates the static function that processes the old
whitespace definition (and a generated macro that was used only for
this), using the already existing one for the new definition.  It
refactors slightly the static function that skips comments to mesh
better with the needs of its callers, and calls it in one place where
before the code was essentially duplicated.

p5p discussion starting in
http://nntp.perl.org/group/perl.perl5.porters/214726 convinced me that
the (?[ ]) comments should be terminated the same way as regular /x
comments, and this was also done in this commit.  No prior notice is
necessary as this is an experimental feature.
Optimize /[a-z]/ and /[A-Z]/

These bracketed character classes can easily be optimized into smaller
probably faster regops that match identically.
regen/regcharclass.pl: Don't generate macro twice

Until this patch, this could happen if both 'safe' and 'fast' are
specified with a cp macro.
regen/regcharclass_multi_char_folds.pl: Add some comments
regcomp.c, regexec.c: Move common code to a function

There are other cases where this functionality will be needed as well.
regcomp.c: Remove obsolete code

Commit cd209d9d0a3b8eec779c744b3a98c9101e3f1a21 changed things so that
this code (as its comments suggest) is now obsolete.
regcomp.c: Move code into a function

This is in preparation for it to be called from another place
regcomp.c: Change a panic into an assert

This really should never happen, so might as well be an assert.