Added evaluation functions

Added a basic context object plus some evaluation functions. The
evaluate module parses some inline XML and evaluates a simple XPath
expression against it. Each node in the parsetree has a match() method
which returns the set of elements that it matches.

There are some problems with the fact that the Element object doesn't
have any concept of a parent. This needs to be fixed before the parent
axis can be matched on.