Support loading shared library archive members.

Applicable for AIX only.
* libltdl/ltdl.c: Define LT_SHARED_LIB_MEMBER.
(lt_dlopenadvise) When LT_SHARED_LIB_MEMBER is defined, allow for
specifying an archive member as the to-be-loaded shared object.
Prefer to load with LT_SHARED_LIB_MEMBER specified when applicable.
* libltdl/loaders/dlopen.c: Use RTLD_MEMBER flag for dlopen when the
filename does specify an archive member between "()".
Correctly expand commands when export_symbols_cmds starts with 'word'.

* libltdl/config/ltmain.m4sh: When export_symbols_cmd starts with some
'word', 'word' is joined with 'concat_cmds' to 'concat_cmdsword' due to
different expansion time: Need to embrace concat_cmds variable even for
export_symbols_cmds.
Define the 'aix-soname' feature.

libltdl/m4/ltoptions.m4: Add 'aix-soname aix-soname=compat
aix-soname=no' LT_INIT options.
Add '--enable-aix-soname' configure option, default 'no'.
Declare 'aix_soname_member_spec' libtool variable.
Prepare -dlopen option for 'aix-soname' feature.

libltdl/config/ltmain.m4sh (func_mode_execute): When testing if the
file to be dlopen'ed exists for -dlopen options, strip the AIX archive
member name along aix_soname_member_spec (when defined).
Do not remove aix-archive-members in mode clean.

build-aix/ltmain.m4sh (func_mode_uninstall): Do not remove the AIX
archive member, but the archive file only.
Run versioning checks on aix with 'aix-soname'.

* tests/versioning.at: On AIX, when aix_soname_member_spec is defined,
run the versioning check.
Detect XFAIL based on hardcode configuration.

* tests/deplibs-ident.at: To define whether this test should XFAIL, use
hardcode_action, hardcode_direct, hardcode_direct_absolute configuration
settings instead of platforms aix, hppa-hpux, interix or openbsd.
Avoid tests with undef syms on aix.

While AIX does support undefined symbols in general, undefined symbols
in one shared library do not trigger another shared library to be marked
as needed.
* tests/template.at: Skip test with undefined symbols across libraries.
evaluate libtool-config within AT_XFAIL_IF
enable 'aix-soname' for libltdl
AIX runtime linking allows undef syms by default.

* libltdl/m4/libtool.m4: When AIX runtime linking is active, undefined
symbols are allowd by default: define the 'no_undefined_flag' instead of
'allow_undefined_flag', to actually let the -no-undefined switch have
any effect in this case.
Implement aix-soname=yes, aix-soname=compat.

* m4/libtool.m4: Allow filename based shared library versioning on AIX.
(--enable-aix-soname=yes): Do filename based shared library versioning
with .so filename extension, for use with runtime linking only.
Enable runtime linking for executables in LDFLAGS.
(--enable-aix-soname=compat): Same, but do not change runtime linking in
LDFLAGS. Also, create traditional shared library archive with the .a
filename extension without runtime linking. This also implies disabling
the creation of static libraries.
(--disable-aix-soname): Keep previous behaviour, creating traditional
shared archive when runtime linking is not enabled in LDFLAGS, or
standalone shared object without any shared library versioning along
static archive when runtime linking is enabled in LDFLAGS.