Android: Minor fixes to compile under 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