User Settable File Location for External Elements

Users sometimes encounter situations (e.g., disk space shortage,
different filesystem names) that the external file containing the data
of the external element has to reside in a directory different from the
one it was created.  The user may set up symbolic pointers to forward
the file locations but this does not work if the external filename is
an absolute path type containing directory components that do not exist
in the local system.

A new feature is added such that an application can provide a list of
directories for the HDF library to search for the external file.  This
is set by the function call HXsetdir or via the environment variable
$HDFEXTDIR.  See the man page HXsetdir(3) for details.

A similar feature is also added to direct the HDF library to create the
external file of a _new_ external element in the given directory.  An
example for the need of this feature is that an application wants to
create multiple external element files with certain naming conventions
(e.g., Data950101, Data950102) while all these files share a common
parent directory (project123/DataVault).  Different users will have a
different choice of the common parent directory.  This can be set by
the function call HXsetcreatedir or the environment variable
$HDFEXTCREATEDIR.  See the man page for HXsetcreatedir (1) for detail.

