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.
> Just because they're dlopened does not mean that they cannot used
> libfabric to resolve symbols (I know this for a fact because we have Open
> MPI plugins that are dlopened by libmpi call libmpi symbols).
> 
> More specifically: it's a bad idea to have duplicate symbols in multiple
> DSOs in a single process. In this case, it probably won't cause any harm;
> indeed, one set of the redundant symbols will likely get ignored at
> runtime. But in other cases, it can definitely cause linker
> confusion/barfing at runtime.

These aren't accessing exported symbols.  This is functionality that I don't want libfabric to export in its public interfaces, so we don't have to maintain them.