fixed ID deallocation problem based on patch from Steve Shepard fixes bug

* valid.c: fixed ID deallocation problem based on patch from
  Steve Shepard fixes bug #160893
* xmlmemory.c: improving comment.
* testapi.c: new test for xmlDictExists() is generated.
Daniel
diff --git a/valid.c b/valid.c
index 9fafbbe..28111a5 100644
--- a/valid.c
+++ b/valid.c
@@ -2639,7 +2639,7 @@
 	xmlFree(ID);
 	return(-1);
     }
-    xmlHashUpdateEntry(table, ID, NULL, (xmlHashDeallocator) xmlFreeID);
+    xmlHashRemoveEntry(table, ID, (xmlHashDeallocator) xmlFreeID);
     xmlFree(ID);
     return(0);
 }