Linux hints: try using user-provided binaries before going for the defaults

This means that if the user called Configure with -Dnm=/foo/bar/nm, the
hints will try using that before going for plain 'nm'
Linux hints: Handle `uname -m` in cross-compilation builds
Linux hints: add some missing $ccflags
Linux hints: Improve the portability of the -lndbm check
Linux hints: Improve the code that looks for libc.so
Hints file for android cross-compiling.

The hints file names for cross-compiling (currently) need to match the prefix of the cross-compiler used.
Create a Perl with relocatable inc when building for Android.
Android hints: set targetsh to /system/bin/sh

Android, for reasons best known to itself, doesn't have a "/bin/sh" it
has a "/system/bin/sh".  We need to run "/bin/sh" as $sh inside
./Configure on the host, but store a different path for use on the
actual Android system (eg by backticks, system etc, in SH_PATH).

The new variable is "targetsh" and defaults to "sh" unless changed by the hints file/Configure params.
Android hints, run-adb-shell: Handle the -env switch

Currently, this is used during 'make test' to specify LD_LIBRARY_PATH
No locales in Android, just set the lot to undef
Android hints, run-ssh: Make sure that the stdout of commands run from Configure and Makefile on remote hosts is transfered back correctly
Correctly quote result from adb, otherwise multiline responses breal (eg signal_cmd)
Android hints: Detect stub functions and mark them as undefined.

Bionic implements several functions as stumps that simply warn
and return null, which leads to situations like this:

FIX ME! implement getprotobyname() bionic/libc/bionic/stubs.c:378

This commit introduces some probes for functions (getnetbyname,
getnetbyaddr, getmntent, getprotobyname, getprotobynumber, endpwent,
ttyname) that we use and are actually stubs in at least some
versions of Android.
If we find a stub, we pretend that the function is undefined, so
the above example becomes this:

Unsupported socket function "getprotobyname" called at -e line 1.

Note that this commit does not fix the modules that assume that
these functions are always available, so 'make test' still fails.
android hints: Always define d_libname_unique
hints/linux-androideabi.sh: getservent_r() is a partial stub, mark it as undefined to avoid issues with threads
hints/linux-androideabi.sh: Rather than relaying on adb, save the exit status in a file and then copy it over
hints/linux-androideabi.sh: sed might not understand "\r", use $tr instead
hints/linux-androideabi.sh: adb takes care of creating the target dir on the target
hints/linux-androideabi.sh: use $cat instead of plain cat
hints/linux-androideabi.sh: use $chmod instead of plain chmod