Implement DDXMLNode nodesForXPath:namespaceMappings:error.

This allows the caller to pass in an NSDictionary specifying the mapping
from namespace prefix to namespace URL.  Namespace prefixes specified in
the given XPath will then be resolved against that mapping.

This allows callers to find nodes using default namespaces, e.g.
<element xmlns='<schema URL>'>...</element>.  The caller must specify
prefix=<schema URL> in namespaceMappings, and then can use prefix:element
in the XPath.

If namespaceMappings is nil, then the existing behavior is used
(parsing the namespaces from the document node).  This works in the
situation where the namespaces are all named explicitly, and all on the
root node, but not in general.

This addresses upstream issue #19, the second half of issue #20.