Remove vestigial *.SH code which can link the extracted file into ../

4 of the *.SH files have code which links the extracted file into the parent
directory if the current directory ends SH. This code dates from Perl 1.
It seems that the intent was that the *.SH files could live in a SH/
directory, but that feature was neither used or mentioned in the
documentation in Perl 1, and hasn't been used since.
Add x2p/makefile to the dependencies for targets within x2p/

This will give us more flexibility in when and how we generate it.

[x2p/makefile is x2p/GNUmakefile on OS X]
Defer running makedepend in x2p/ until it's needed.

We can run makedepend in x2p/ as part of the regular build process, which
means that it can run as part of a parallel make. This gets a slight
speedup (0.2s on this system), and increases flexibility on how x2p/Makefile
is generated.
In the Makefile, generate the value of shextract programmatically.

shextract lists the files generated by shell scripts named *.SH which need
deleting. Instead of maintaining it by hand, generate it in Makefile.SH from
the list of *.SH files.

This indirectly eliminates the last reference to F<makedir>. makedir.SH
was eliminated by commit ebca06e95b02d1a8 and the reference to makedir.SH in
Makefile.SH eliminated by commit 847471027aa42997 (both Sept 2009), but
that commit missed that the reference to makedir a few lines later was
related.
Pass in to makedepend the name(s) of files that all objects depend on.
Eliminate x2p/cflags.SH. x2p's Makefile can use ../cflags

x2p/Makefile is only used on *nix, so this should not present a problem.
Add runtests.SH to the code that generates the targets sh and shextract.

The generated Makefile is functionally identical.
Programmatically generate dependencies for all *.SH files.

Previously dependencies for Makefile, config.h and makedepend were
explicitly coded into verbatim sections of Makefile.SH, with most of the
others being generated by makedepend.SH
Remove the now unused 'shlist' Makefile targets.
Add x2p/Makefile.SH to the *.SH files processed by the top level Makefile.

This makes the top level Makefile responsible for deleting x2p/Makefile.
With this, we can eliminate the 'sh' and 'shextract' from x2p's Makefile.
Remove rules to delete *.loadmap and *.prelmap files, generated on VM/ESA

These rules to clean up properly on VM/ESA were added in Oct 1998 by
perforce changes 1961, 1962 and 1963 in the confperl branch. VM/ESA support
was removed by commit 043fec90e88a2e23 in Aug 2012.
Simplify x2p's Makefile.

Eliminate plexe and plc, which relate to tests for the compiler and were
added as part of commit 52cebf5efc9883c7 in May 1988. The compiler was
removed by commit de1254415ffeb03b in Sept 2006.

The files a2p.man and s2p.man were removed with Perl 5.000.
The macros 'public', 'private' and 'util' mirror the structure of the top
level Makefile.SH. However, x2p only ever used 'public', so simplify things
by inlining the value of 'public' in the only place that uses it.
'addedbyconf' now only contains the value of 'plextract', so use the latter
directly in the one place that had used 'addedbyconf'.
Merge the refactoring of x2p's Makefile to blead.