added merlin-c14n-two.tar.gz tests for c14n/exc-c14n and slightly modified

* result/c14n/exc-without-comments/merlin-c14n-two-*
  result/c14n/without-comments/merlin-c14n-two-*
  test/c14n/exc-without-comments/merlin-c14n-two-*
  test/c14n/without-comments/merlin-c14n-two-*
  testC14N.c Makefile.am: added merlin-c14n-two.tar.gz tests for
c14n/exc-c14n and slightly modified test script to handle
these test cases
* c14n.c: fixed bugs for complicated nodes set (namespace
without node and others from merlin-c14n-two.tar.gz)
* include/libxml/xpathInternals.h win32/dsp/libxml2.def.src
win32/libxml2.def.src: "opened" xmlXPathNodeSetFreeNs() function
for xmlsec performance patch
* xpath.c: fixed self::node() for namespaces and attributes
diff --git a/xpath.c b/xpath.c
index d56c70f..c166c82 100644
--- a/xpath.c
+++ b/xpath.c
@@ -1489,7 +1489,7 @@
  * the namespace nodes are duplicated and the next pointer is set to the
  * parent node in the XPath semantic. Check if such a node need to be freed
  */
-static void
+void
 xmlXPathNodeSetFreeNs(xmlNsPtr ns) {
     if ((ns == NULL) || (ns->type != XML_NAMESPACE_DECL))
 	return;
@@ -8736,6 +8736,8 @@
                          ((cur->type == XML_DOCUMENT_NODE) ||
                           (cur->type == XML_HTML_DOCUMENT_NODE) ||
                           (cur->type == XML_ELEMENT_NODE) ||
+                          (cur->type == XML_NAMESPACE_DECL) ||
+                          (cur->type == XML_ATTRIBUTE_NODE) ||
                           (cur->type == XML_PI_NODE) ||
                           (cur->type == XML_COMMENT_NODE) ||
                           (cur->type == XML_CDATA_SECTION_NODE) ||