[perl #115736] fix undocumented param from newATTRSUB_flags

flags param was poorly designed and didn't have a formal api. Replace it
with the bool it really is. See #115736 for details.
refactor pp_socket, pp_socketpair, pp_bind

pp_socket: remove unreachable made by commit 9c9f25b8ce

pp_socketpair: increase locality, now gv2/io2 is tested before gv1 is
    processed, *v1 vars become non-const to avoid large WS changes in
    opening new scope

pp_bind: move op_type's init so it isn't saved by CC across a func call
test various types of SVs with call_sv

call_sv takes RVs, PVs, CVs, GVs, and an immortal. This isn't well
documented. CVs and immortals can't, or can't easily be tested from
pure perl, so do it from XS. SVt_PVLV with isGV_with_GP is one thing
call_sv takes but is not tested by this commit. Part of [perl #120826] .
pp.c: Remove redundant diag_listed_as
perldelta: Silence podchecker
Rearrange dump.c to organize docs. Add some perlapi docs for debug methods.
pp_sys.c: Remove null checks from pp_sockpair

There is actually no way for nulls to reach this code.

Nulls on the stack only happen with pp_coreargs, and only with
ops that have optional arguments, of which socketpair is not one.

GvIOn uses gv_add_by_type, which adds a new IO if there is not
already one, so it will never return null if the GV is not null.
pod/perlunicode: White-space only

Commit 1850f57f068545c630b2fb3aa138bbf0fb406e56 placed this verbatim
text heading starting in the wrong column
pp_sys.c: Remove redundant null checks

Nulls only get pushed on to the stack when pp_coreargs uses them to
represent missing optional arguments.  Ops that take * prototypes
will have had their arguments passed through rv2gv first, so they
should always be GVs.  GvIOn never returns null.  When given a GV
argument, it creates a new IO entry and returns that.  When given
any other argument it croaks.

Thank you to Daniel Dragan for providing a list of candidate pp
functions in <rt-4.0.18-29609-1387862001-129.120842-15-0@perl.org>
(ticket #120842).
op.c: newLOOPOP: Remove code supporting do-sub
Let's be consistent.

All the sections are of the form '=head2 version - title', except the
one for v5.19.0, which used two dashes.

But no longer.