Configure: Split the usecrosscompile section from the to/from/run section

Beyond organization, this also makes sure that usecrosscompile is
always set to undef if we're not cross-compiling, which enables
code to realibly use $Config{usecrosscompile} to check for a
cross-compiling perl.
Configure: Set to/from/run scripts if targethost is passed

Do this regardless of whether we are cross compiling
add an escape for when targethost is not defined but usecrosscompile is.

See http://www.nntp.perl.org/group/perl.perl5.porters/2012/12/msg196443.html
"Cross-building and Makefile.SH", which explains the reasoning for this.
fix the ability to use targethost when defined.
Update AUTHORS and MANIFEST to appease test_porting
Stop using $run for anything other than testing compiled tests in Configure.

When cross-compiling we want to run miniperl etc on the compile host, not the test target
Stop using Config{run} to check the version of (mini)perl we are running
Build host miniperl and generate_uudmap binaries when cross compiling, for local use
Run all the miniperl calls locally, not via RUN
configpm should use "osname" from config.sh, instead of miniperl's $^O.

This is necessary when cross-compiliing, as we use a host (mini)perl to
run configpm for the target arch; so for example, miniperl's $^O
might be 'linux', but config.sh's osname can be 'qnx'.
write_buildcustomize.pl: Setup $^O to be the target os when building Core.

This allows the correct hints files to be loaded when building modules
We do this by giving write_buildcustomize.pl a 'osname' parameter.

This means that write_buildcustomize.pl no longer depends on
Config to get osname, which eliminates a circular dependency
in the Makefiles.
Makefile.SH: Updated the lib/buildcustomize.pl rule for cross-compilation builds
Use the system perl for RUN_PERL, if we are cross compiling, and we found one.

Note we can only substitute the system perl for scripts that do not require Config
as it complains about non-matching Perl versions.
Use HOST_PERL instead of built perl for perl installation

HOST_PERL is often set while cross compiling, so we can run the
install from the host machine.
Configure: Pass the -r flag to scp when cross-compiling
Configure: Teach run-ssh to handle -env
Makefile.SH: When cross-compiling, copy the files needed by make test.

This is groundwork to enable us to do this:

    $ make
    $ make test

on the host, and have the test suite be run on the target.

Currently this list of files is hand-maintained.
Makefile.SH: 'make test' for cross-compilation builds.

Along with the previous commit, this enables us to run 'make test'
on the host and have the tests run on the target. We do this by
calling ./Cross/run ./TEST with -cwd $targetdir/t, and setting its
LD_LIBRARY_PATH to $targetdir, so that libperl.so is found.
Makefile.SH: on make test_prep, add $target/lib:$target/lib/auto to -env LD_LIBRARY_PATH=...
Gitignore files which are created/used while cross-compiling