xpath

This adds support for a significant fraction of the xpath spec.