ZipNode.isFile properly propagates IOExceptions now