Basic specs for XPath::Evaluator.

These currently only cover very simple XPath expressions.
Removed internal state of XPath::Evaluator.

Come to think of it it might actually be easier to implement the evaluator as
an actual VM. That is, instead of directly running on the AST it runs on some
flavour of bytecode. Alternatively it runs directly on the AST but behaves more
like a (stack based) VM. This would most likely be easier than passing a cursor
to every node processing method.