XPath

Added the following template operations:

- xpath
- xpathAll
- xpathAllHTML
- xpathAllMarkdown
- xpathHTML
- xpathMarkdown

Currently these exactly match the `select\*` equivalents. This feature is being added in response to #181.

This implementation only supports XPath for matching elements, so expressions like `count(//p)` won't work and will cause the template copy to fail. I'm interesting in hearing if this functionality would be wanted to and I can make the implementation more sophisticated (which I kind of want to do anyway).