xd_doc: Fix misleading xd_find parameter name
xd_node: Define xd_node struct in header

xd_node will likely not contain any data that is not portable. We don't
want to have methods for mutating xd_node data, that just adds extra
work.
Remove xd_node files

We'll have xd_node be an internal structure used within xd_doc
functions for extracting data. xd_doc API well let you extract
data from nodes directly instead of requiring you manage a struct
representing a node or attribute.

The xd_find method for searching for a node has been changed as well.
It now returns the number of nodes with a given label that are found
within an xd_doc, or -1 if any errors occurred.
Readd xd_node as _xd_node, an internal struct