Promote XPath creator function to an interface
Streamline XPath parser test
Remove C-string from TextNode
Actually use the next token

How did this not break before?
Remove C-strings from Document creation methods
Report invalid axis instead of crashing
Report invalid node-test instead of crashing
Add ability to generate documentation
Document XPath axes
Document ToStream