In Perl_magic_setdbline, replace the use of atoi() with sv_2iv().

The value on which atoi() is called is actually always the buffer of an SV.
Hence we can use sv_2iv() instead.
utf8.h, unicode_constants.h: Add some #defines.

These will be used in a future commit
utf8.h: White space only

Vertically align the definitions of a few #defines
utf8.c: Add omitted fold cases

The LATIN SMALL LETTER SHARP S can't fold to 'ss' under /iaa because the
definition of /aa prohibits it, but it can fold to two consecutive
instances of LATIN SMALL LETTER LONG S.  A capital sharp s can do the
same, and that was fixed in 1ca267a5, but this one was overlooked then.

It turns out that another possibility was also overlooked in 1ca267a5.
Both U+FB05 (LATIN SMALL LIGATURE LONG S T) and U+FB06 (LATIN SMALL
LIGATURE ST) fold to the string 'st', except under /iaa these folds are
prohibited.  But U+FB05 and U+FB06 are equivalent to each other under
/iaa.  This wasn't working until now.  This commit changes things so
both fold to FB06.

This bug would only surface during /iaa matching, and I don't believe
there are any current code paths which lead to it, hence no tests are
added by this commit.  However, a future commit will lead to this bug,
and existing tests find it then.
utf8.c: Add comment
regcomp.c: White-space only

Reflow comment to fit in 79 columns
regexec.c: Add comments, assertions
regcomp.c: Remove unreachable code

This code no longer gets executed, as the single multi-char fold in the
Latin1 range is pre-folded before this code sees it.  The surrounding
code didn't properly handle multi-char folds either.

Not having to deal with this allows us to not have to call the general
purpose function, but we do have to deal with one edge case
regcomp.c: White-space, comment only

Fit into 79 columns, add comment
fold_grind.t: Modify trie test

The trie tests just add an alternation of a fixed string.  This commit
makes that string the same number of bytes as the first alternative, in
an effort to not bias the test.  Otherwise, something that might
otherwise appear to be too short might be long enough to match the fixed
string, defeating properly testing the length.
regcomp.c: Split count variable into two: min, max

This is in preparation in later commits for the min and max to diverge.
This also renames the two variables to emphasize that bytes are what are
being counted, not characters.
regcomp.c: Create better estimate of trie match lengths

This commit improves the estimate of the length of a string that a trie
matches.  Before this, the estimate gave more false positives, and
required some workarounds which are no longer necessary, and future
commits will remove.

The ultimate answer is to know precisely what will be matched.  As noted
in the comments, this information is already largely available in a
global variable.  But more work there needs to be done to complete it,
and make it conveniently accessible.
Remove newly unnecessary regnode, code

The previous commit fixed things up so that this work-around regnode
doesn't have to exist; nor the work around for the EXACTFU_SS regnode
Remove no longer necessary constants

These character constants were used only for a special edge case in trie
construction that has been removed -- except for one instance in
regexec.c which could just as well be some other character.
Allow trie use for /iaa matching

This adds code so that tries can be formed under /iaa, which formerly
weren't handled.  A problem occurs when the string contains the LATIN
SMALL LETTER SHARP S when the regex pattern is not UTF-8 encoded.  I
tried several ways to get this to work easily, but ended up deciding it
was too hard, to in this one situation, a new regnode is created to
prevent the trie code from even trying to turn it into a trie.
Better check for the fork emulation in t/win32/signal.t

The d_pseudofork Configure variable hasn't been around all that long so
isn't suitable for use in dual-lived module tests, but is good for use in
core tests.

(t/win32/runenv.t doesn't do this since it is actually PERL_IMPLICIT_SYS
rather than the fork emulation which that test requires.)
Update ExtUtils-ParseXS to CPAN version 3.22

  [DELTA]

3.22 - Thu Aug 29 19:30:00 CET 2013
  - Fix parallel testing crashes.
  - Explicitly require new-enough Exporter.
Update Encode to CPAN version 2.54

  [DELTA]

$Revision: 2.54 $ $Date: 2013/08/29 16:47:39 $
! Encode.xs
+ t/cow.t
  Addressed: COW breakage with _utf8_on()
  https://rt.cpan.org/Ticket/Display.html?id=88230
! Encode.pm
  Reverted the document accordingly to #11
  https://github.com/dankogai/p5-encode/pull/10
+ t/decode.t
  Unit test for decoding behavior change in #11
  https://github.com/dankogai/p5-encode/pull/12

2.53 2013/08/29 15:20:31
! Encode.pm
  Merged: Do not short-circuit decode_utf8 with utf8 flags
  https://github.com/dankogai/p5-encode/pull/11
  Merged: document decode_utf8 behaviour more precise
  https://github.com/dankogai/p5-encode/pull/10
! Makefile.PL
  Added repository cpan metadata
  https://github.com/dankogai/p5-encode/pull/9
preserve $! and $^E in Carp

Carp::longmess and Carp::shortmess now explicitly localise these status
variables, for the reason described in the new paragraph of documentation.
perldelta - Note upgrades to Encode and ExtUtils::ParseXS