HDF4: Do cleanups in error code paths, and prevent multiple calls to GDclose() (adapted from 1.8-esri r25742)

git-svn-id: https://svn.osgeo.org/gdal/trunk@25771 f0d54148-0727-0410-94bb-9a71ac55c965