Clean up dl-open features:

Add --with-dlopen=[yes,no] option to compile without loadable provider support.
Selecting no also disables the check for -ldl.

Add --with-extdir option to specify custom loadable provider dir.
Default is $libdir/libfabric.

Rename FI_EXTPATH to FI_EXTDIR for consistency with variable names and configure options.

Silently ignore extdir not found when loading instead of printing error to stderr.

Remove unused includes in fabric.c

Re-include common.c and enosys.c in dl-loadable providers, these are needed.
What Sean said. The duplication won't do any harm in this case and I don't see a way around it with our current public-API scheme. Without this change dl-loadable providers break like:

    dlopen(/home/pmmccorm/local/lib/libfabric/libsockets-fi.so): /home/pmmccorm/local/lib/libfabric/libsockets-fi.so: undefined symbol: fi_no_sync
    dlopen(/home/pmmccorm/local/lib/libfabric/libpsmx-fi.so): /home/pmmccorm/local/lib/libfabric/libpsmx-fi.so: undefined symbol: fi_no_bind
    dlopen(/home/pmmccorm/local/lib/libfabric/libibverbs-fi.so): /home/pmmccorm/local/lib/libfabric/libibverbs-fi.so: undefined symbol: fi_no_bind