perlio.c, PerlIO_tmpfile: Fall back to cwd if we have no /tmp or TMPDIR
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.
time64.h: Declare tm_zone as const under Android, but not if using C++
MakeMaker: Groundwork for d_libname_unique

Android's linker has some unusual behavior, in that it only uses
the basename of a library in its cache.  That means that, as far as
dlopen() is concerned, the libraries for Hash::Util and List::Util,
both of which are called Util.so, are the same.

This commit teaches ExtUtils::MM_Unix about d_libname_unique.  When
defined, it signals MakeMaker to rename the .so files to something
"unique" -- so for example, Hash/Util/Util.so becomes
Hash/Util/Perl_Hash_Util.so.
Teach XSLoader about d_libname_unique
Teach DynaLoader about d_libname_unique
android hints: Always define d_libname_unique
t/op/getpid.t: Silence undef warnings if getconf doesn't exist.

If a platform has getppid() but not getconf and we're building a
threaded perl, this file would've shown undef warnings, although
no tests were affected.
pod/perlport.pod: Note which functions are not available on Android
t/op/threads-dirh.t: Only test telldir and seekdir if they are available
doio.c: Two variables only need to be available if -DUSE_SHELL_ALWAYS is not true
sv.c, Perl_dirp_dup: Skip the fchdir sections if telldir and seekdir are not defined
hints/linux-androideabi.sh: getservent_r() is a partial stub, mark it as undefined to avoid issues with threads
t/op/exec.t: Skip a test under -DUSE_SHELL_ALWAYS
t/lib/warnings/9uninit: Skip two tests under -DUSE_SHELL_ALWAYS
t/io/pipe.t: Skip test under -DUSE_SHELL_ALWAYS
perlport: warn that exec+USE_SHELL_ALWAYS may not behave as expected
Makefile.SH, test_prep: Copy all the files needed by make test
t/porting/: Skips for cross-compilation
lib/ExtUtils/t/Embed.t: Skip tests is cross-compiling and $Config{cc} is not available