Use C API for creating HDF5 files

The rest of queso uses the c api.  It's nicer and I don't get linking issues
when using the c api.

This commit also makes the sampler object store some private variables that
store the dataset and makes it such that only subprocesses with subrank zero
create output files to avoid race conditions.
Clean up inf sampler class
Only subprocess of subrank zero is allowed to clean up
Clean up