Android requires some workarounds before calling configure

Three env variables need to be defined on android, to both
work around bugs in the OS and in the configure script.

First, TMPDIR must be set due to a bug in android's sh:
http://stackoverflow.com/questions/15283220/android-shell-eof

Second, CONFIG_SHELL and PATH_SEPARATOR need to be set
since Android's sh is in /system/bin/sh, and several spots
in configure assume that /bin/sh will be available.
Handle systems where DynaLoader::mod2fname is defined

Practically the same change went into Module::Build last
year -- see https://github.com/Perl-Toolchain-Gang/Module-Build/commit/ff5b2f970325e7dfbb3caf57a37e6b4807978b97

Some systems define this to give every shared library
a unique name, to work around limitations in their
linkers.