made some changes because of obscure compiler errors concerning copying of hdf5_datatype objects