Make sure there is always a non-empty compiler name or compiler version
This fixes a bug reported by Heinrich. When the compiler string is empty, the HDF5 i/o fails as you cannot write an empty string as an attribute. This fix makes sure the compiler name and version is always a non-empty string.