moved string and UTF8 routines out of parser.c and encoding.c into a new

* encoding.c, parser.c, xmlstring.c, Makefile.am,
  include/libxml/Makefile.am, include/libxml/catalog.c,
  include/libxml/chvalid.h, include/libxml/encoding.h,
  include/libxml/parser.h, include/libxml/relaxng.h,
  include/libxml/tree.h, include/libxml/xmlwriter.h,
  include/libxml/xmlstring.h:
  moved string and UTF8 routines out of parser.c and encoding.c
  into a new module xmlstring.c with include file
  include/libxml/xmlstring.h mostly using patches from Reid
  Spencer.  Since xmlChar now defined in xmlstring.h, several
  include files needed to have a #include added for safety.
* doc/apibuild.py: added some additional sorting for various
  references displayed in the APIxxx.html files.  Rebuilt the
  docs, and also added new file for xmlstring module.
* configure.in: small addition to help my testing; no effect on
  normal usage.
* doc/search.php: added $_GET[query] so that persistent globals
  can be disabled (for recent versions of PHP)
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
index 86feb45..92110d8 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -8,7 +8,7 @@
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
 </style><title>Alphabetic List of Symbols in libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Alphabetic List of Symbols in libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Letter A:</h2><p><a href="html/libxml-xmlversion.html#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a><br />
-</p><h2>Letter B:</h2><p><a href="html/libxml-tree.html#BAD_CAST">BAD_CAST</a><br />
+</p><h2>Letter B:</h2><p><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
 <a href="html/libxml-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a><br />
 </p><h2>Letter C:</h2><p><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
 <a href="html/libxml-xpathInternals.html#CAST_TO_NUMBER">CAST_TO_NUMBER</a><br />
@@ -1310,7 +1310,7 @@
 <a href="html/libxml-chvalid.html#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a><br />
 <a href="html/libxml-chvalid.html#xmlChSRange">xmlChSRange</a><br />
 <a href="html/libxml-chvalid.html#xmlChSRangePtr">xmlChSRangePtr</a><br />
-<a href="html/libxml-tree.html#xmlChar">xmlChar</a><br />
+<a href="html/libxml-xmlstring.html#xmlChar">xmlChar</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
@@ -1321,12 +1321,12 @@
 <a href="html/libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
 <a href="html/libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a><br />
-<a href="html/libxml-parser.html#xmlCharStrdup">xmlCharStrdup</a><br />
-<a href="html/libxml-parser.html#xmlCharStrndup">xmlCharStrndup</a><br />
+<a href="html/libxml-xmlstring.html#xmlCharStrdup">xmlCharStrdup</a><br />
+<a href="html/libxml-xmlstring.html#xmlCharStrndup">xmlCharStrndup</a><br />
 <a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
 <a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
 <a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-encoding.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
+<a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 <a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
 <a href="html/libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a><br />
 <a href="html/libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a><br />
@@ -1531,7 +1531,7 @@
 <a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
 <a href="html/libxml-valid.html#xmlGetRefs">xmlGetRefs</a><br />
 <a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-<a href="html/libxml-encoding.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
+<a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 <a href="html/libxml-globals.html#xmlGetWarningsDefaultValue">xmlGetWarningsDefaultValue</a><br />
 <a href="html/libxml-globals.html#xmlGlobalState">xmlGlobalState</a><br />
 <a href="html/libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a><br />
@@ -2200,16 +2200,16 @@
 <a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
 <a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
 <a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
-<a href="html/libxml-parser.html#xmlStrEqual">xmlStrEqual</a><br />
-<a href="html/libxml-parser.html#xmlStrPrintf">xmlStrPrintf</a><br />
-<a href="html/libxml-parser.html#xmlStrQEqual">xmlStrQEqual</a><br />
-<a href="html/libxml-parser.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
-<a href="html/libxml-parser.html#xmlStrcasecmp">xmlStrcasecmp</a><br />
-<a href="html/libxml-parser.html#xmlStrcasestr">xmlStrcasestr</a><br />
-<a href="html/libxml-parser.html#xmlStrcat">xmlStrcat</a><br />
-<a href="html/libxml-parser.html#xmlStrchr">xmlStrchr</a><br />
-<a href="html/libxml-parser.html#xmlStrcmp">xmlStrcmp</a><br />
-<a href="html/libxml-parser.html#xmlStrdup">xmlStrdup</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrcasecmp">xmlStrcasecmp</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrcmp">xmlStrcmp</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringComment">xmlStringComment</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
@@ -2219,14 +2219,14 @@
 <a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringText">xmlStringText</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringTextNoenc">xmlStringTextNoenc</a><br />
-<a href="html/libxml-parser.html#xmlStrlen">xmlStrlen</a><br />
-<a href="html/libxml-parser.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
-<a href="html/libxml-parser.html#xmlStrncat">xmlStrncat</a><br />
-<a href="html/libxml-parser.html#xmlStrncatNew">xmlStrncatNew</a><br />
-<a href="html/libxml-parser.html#xmlStrncmp">xmlStrncmp</a><br />
-<a href="html/libxml-parser.html#xmlStrndup">xmlStrndup</a><br />
-<a href="html/libxml-parser.html#xmlStrstr">xmlStrstr</a><br />
-<a href="html/libxml-parser.html#xmlStrsub">xmlStrsub</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrncmp">xmlStrncmp</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrndup">xmlStrndup</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
 <a href="html/libxml-globals.html#xmlStructuredError">xmlStructuredError</a><br />
 <a href="html/libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a><br />
 <a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
@@ -2560,14 +2560,14 @@
 <a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
 <a href="html/libxml-uri.html#xmlURIPtr">xmlURIPtr</a><br />
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-<a href="html/libxml-encoding.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-<a href="html/libxml-encoding.html#xmlUTF8Size">xmlUTF8Size</a><br />
-<a href="html/libxml-encoding.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
-<a href="html/libxml-encoding.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
-<a href="html/libxml-encoding.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
-<a href="html/libxml-encoding.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
-<a href="html/libxml-encoding.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
-<a href="html/libxml-encoding.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strndup">xmlUTF8Strndup</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strpos">xmlUTF8Strpos</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
 <a href="html/libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a><br />
 <a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
 <a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />