add a plfs_get_fileinfo() -- this is a superset of plfs_get_filetype()
that also returns the index type.  the MPI optimization code needs
then when deciding if it wants to do optimizations or not (because
currently all our open opts are specific to ByteRangeIndex, so it
needs to know if the index will be a ByteRangeIndex before trying
to do anything fancy).

I had to move the CI_* defines to plfs.h.in to make this work, due
to the layering of the MPI code.  Current structure tries to keep
all MPI API calls in mpi_adio code, and then that code reaches
direct into the Container API if it detects a Container file (which
is the other reason why we need a plfs_get_filetype()-like
function).