In Makefile.SH, eliminate the MINIPERL_NONSHR target only used by AIX.

The intent of the MINIPERL_NONSHR target was to provide a route to bootstrap
building the shared libperl for AIX, solving the chicken & egg problem that
(mini)perl is linked against the shared library, so the shared library must
come first, but to build the shared library requires running a Perl script
to generate the export list, hence miniperl comes first. However, the need
for this special has long been superseded by events, so remove it and use
the regular miniperl.

Specifically, for 5.005 and earlier

1) both miniperl and perl are small stubs with just the main() function,
   linked with the shared libperl
2) on AIX the export list was generated by a shell script

so no bootstrapping problem.

However, the export list had to be manually updated in the shell script, so
with commit 549a6b102c2ac8c4 in Jul 1999, the Win32 solution was generalised
to work on both AIX and Win32. This uses Perl script, makedef.pl to
parse various files and generate the current export list automatically.
This introduces a bootstrapping problem - miniperl is needed to generate
libperl.a, but libperl.a is needed to generate miniperl. This commit solves
the problem by introducing a new target, MINIPERL_NONSHR, which builds a
special staticly-linked miniperl (named miniperl_nonshr) in order to run
makedef.pl, which in turn permits libperl.a and the regular miniperl to be
built, and the build to proceed.

All was well until commits 52bb0670c0d245e3 and 8d55947163edbb9f (Dec 1999)
changed the default for CORE::glob() to use the XS module File::Glob, and
linked miniperl against an opmini.o, built from op.c but with compiler flags
to use the old glob-via-csh code. The change made for AIX was to build
*miniperl_nonshr* with the bootstrapping glob code, but leave the build of
miniperl unchanged. This broke the build on AIX - miniperl would build just
fine, but would fail to build any XS extensions, as the ExtUtils::MakeMaker
code requires working globbing.

The AIX build was fixed with commit 18c4b137c9980e71 (Feb 2000) by changing
Makefile.SH so that AIX used the same rules to build miniperl as NeXT.
The rules for NeXT generated miniperl from an explicit list of object files,
instead of using libperl.a. The result of this change was that on AIX,
miniperl was now identical to miniperl_nonshr. Both correctly use the csh
globbing code, but now neither require the shared libperl.a to work.

This makes miniperl_nonshr redundant. So eliminate it.

Curiously, as a side effect of commit 908fcb8bef8cbab8 (Dec 2006) which
moved DynaLoader.o into libperl.so, the default platform build rules for
miniperl were changed to use an explicit list of object files, instead of
C<-lperl>, which had the side effect of building miniperl non-shared.
Hence all platforms now have a non-shared miniperl when building perl with
a shared perl library.
Eliminate the special case linking of miniperl on darwin, which is redundant.

Commit cb3fc4263509f28c (May 2003) removed the use of -flat_namespace from
the link flags, but added it specially in Makefile.SH for miniperl, so that
symbols from opmini.o overrode those in libperl.dylib. However, a side effect
of commit 908fcb8bef8cbab8 (Dec 2006) was to change the linker line to use
explicit object files, meaning that op.o was no longer part of linking,
meaning that the override is no longer needed. Hence darwin's link does not
need special-casing.
Re-order the miniperl link command line on AIX to be the same as the default.

AIX happened to have $(CLDFLAGS) after -o miniperl, whereas the default
had it before. This seems to originate to commit 535d2540a0ea9dc7 (Feb 200),
which created the AIX link command by copying that for NeXT [which doesn't
have $(CLDFLAGS) anywhere], and then adding $(CLDFLAGS).
Remove the special case clause for miniperl link command line on AIX.

The AIX link command line it generates is now identical to the default, so
remove the special case logic.
Only set CCDLFLAGS once in the Makefile on AIX.

Commit 5f9d9a1727238445 (Jul 1999) fixed Makefile.SH so that CCDLFLAGS
correctly pointed the compiler to the uninstalled perl.exp, instead of the
config.sh value which reflected the (not yet) installed location. However,
the commit assumed that it needed to redefine CCDLFLAGS part way through
the Makefile. This is unnecessary, as the macro CCDLFLAGS is not used for
any purpose other than the local build. So refactor Makefile.SH to generate
a Makefile which only sets CCDLFLAGS once.
In Makefile.SH, always use $(MINIPERL) to invoke makedef.pl

This eliminates the macro MINIPERLEXP.

As $(MINIPERL) includes -Ilib, the BEGIN block in makedef.pl that sets @INC
is now redundant, because all other places that invoked makedef.pl were
already setting @INC on the command line. Hence remove it.
In makedef.pl, default PLATFORM to $^O.

This avoids the need to set PLATFORM on the command line in the invocations
of makedef.pl in Makefile.SH