factoring of more error handling code, serious size reduction and more

* parser.c include/libxml/xmlerror.h: factoring of more
  error handling code, serious size reduction and more lisibility
  of the resulting code.
* parserInternals.c parser.c include/libxml/parserInternals.h
  include/libxml/parser.h: changing the way VC:Proper Group/PE Nesting
  checks are done, use a counter for entities. Entities where freed and
  reallocated at the same address failing the check.
* tree.c: avoid a warning
* result/valid/* result/VC/*: this slightly changes some validation
  error messages.
Daniel
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 7a0eaea..2d725f5 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -68,6 +68,7 @@
     const xmlChar *encoding;          /* the encoding string for entity */
     const xmlChar *version;           /* the version string for entity */
     int standalone;                   /* Was that entity marked standalone */
+    int id;                           /* an unique identifier for the entity */
 };
 
 /**
diff --git a/include/libxml/parserInternals.h b/include/libxml/parserInternals.h
index b691787..6e6f08c 100644
--- a/include/libxml/parserInternals.h
+++ b/include/libxml/parserInternals.h
@@ -313,11 +313,11 @@
 XMLPUBFUN xmlElementContentPtr XMLCALL	
 			xmlParseElementMixedContentDecl
 						(xmlParserCtxtPtr ctxt,
-						 xmlParserInputPtr inputchk);
+						 int inputchk);
 XMLPUBFUN xmlElementContentPtr XMLCALL	
 			xmlParseElementChildrenContentDecl
 						(xmlParserCtxtPtr ctxt,
-						 xmlParserInputPtr inputchk);
+						 int inputchk);
 XMLPUBFUN int XMLCALL			
 			xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
 						 const xmlChar *name,
diff --git a/include/libxml/xmlerror.h b/include/libxml/xmlerror.h
index 2084859..fbccf82 100644
--- a/include/libxml/xmlerror.h
+++ b/include/libxml/xmlerror.h
@@ -140,7 +140,8 @@
     XML_NS_ERR_UNDEFINED_NAMESPACE,
     XML_NS_ERR_QNAME,
     XML_NS_ERR_ATTRIBUTE_REDEFINED,
-    XML_ERR_CONDSEC_INVALID_KEYWORD
+    XML_ERR_CONDSEC_INVALID_KEYWORD,
+    XML_ERR_VERSION_MISSING
 } xmlParserErrors;
 
 /**