Call 'close' in the destructor only if 'fh' is defined

The 'fh' attribute is normally always defined, *except* after the
'isa' check dies during object construction. In that case, when the
object's destructor is called, it shouldn't try to close a
non-defined file handle.