Require closing paren for (?&...

$ ./perl -Ilib -le 'print "aaz" =~ /(?<a>a)(?&a-z/'
a

(?&name) was actually allowing any non-word character to terminate it.
perldiag: Clarify memory wrap
Fix ‘panic: memory wrap’ in reg_scan_name

reg_scan_name was not checking for end-of-string.  If the character it
read were not a word character, it would then increment the current
position (RExC_parse), so that the <-- HERE marker in the error mes-
sage would point to the bad character.

If we try to split a regexp like /(?</ into two pieces when the cur-
rent position is off the end like this:

 ( ? < \0
          ^

then the first ‘half’ of the regexp, before the <-- HERE marker is
"(?<\0" (including the trailing null), and the second ‘half’ is of
negative length.  Negative string lengths are what cause ‘panic: mem-
ory wrap’.

$ ./perl -Ilib -e '/(?</'
panic: memory wrap at -e line 1.

This commit takes advantage of the fact that, ever since 1f4f6bf1,
RExC_parse == name_start has never been true after a call to
reg_scan_name.  This is how reg_scan_name now signals EOS.
Add more examples of perl/gdb usage.

Also add doc about gdb's ptype, and make examples more clear.
perlhacktips: Fix pod formatting
perlhacktips: Two spaces after dots

It was not consistent throughout.