Configure: added special osname checks for nto and android

When cross-compiling, for android, anything matching *linux-android*
gets osname=linux-androideabi.  This is to allow compiling to
all three android variants (x86, arm, mips).
For QNX Neutrino, anything matching nto*|*-nto-* gets osname=nto. In
the future, that might change to 'qnx', but right now we don't want
it to pick up the hints file.
For anything else, keep the current behavior, which is to set osname
to the output of `echo $targetarch|sed 's,^[^-]*-,,'`
Configure: If cross-compiling to linux, pick the proper hints file

Something like arm-linux-gnueabihf -- which is what the raspberry pi
gets as its targetarch -- is really just plain Linux, so set osname
to that and load up the hints file.
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
Added README.android
README.android: Update for native builds
README.android: Notes about cross-compiling from a x86 host
pod fixups on README.android
t/io/fs.t: Handle Android builds without -DUSE_SHELL_ALWAYS
Cwd.pm: Handle native android builds better
INSTALL: Updates to the cross-compilation section
USE_SHELL_ALWAYS from Nicholas: Don't try and use non-shell tools like "echo" if set (Android doesn't have them)
doio.c: Two variables only need to be available if -DUSE_SHELL_ALWAYS is not true
perlport: warn that exec+USE_SHELL_ALWAYS may not behave as expected
t/op/exec.t: Skip a test under -DUSE_SHELL_ALWAYS
t/io/pipe.t: Skip test under -DUSE_SHELL_ALWAYS
t/lib/warnings/9uninit: Skip two tests under -DUSE_SHELL_ALWAYS