Emit node() calls for certain short axes.

An axes such as "." is the same as "self::node()". To simplify things on
parser/evaluator level we'll emit the corresponding tokens for a "node()"
function call for these axes.
Revert "Lex XPath axes without a node test."

Upon further investigation this change turned out to be useless. Nokogiri/libxml
does not allow the use of long axes without tests, instead it ends up
lexing/parsing such a value as a simple node test.

This reverts commit f699b0d09720b4f337b4d7f1e3c80b5e299d3876.
Basic docs for the XPath evaluator.
Rake task for displaying TODO/FIXME notes.
Skip node matching for incompatible nodes.
Specs for various XPath::Evaluator helper methods.
Support for the XPath child axis.
Corrected various YARD tags.
Rake task for generating docs.
YARD CSS for blockquotes.
Don't rely on GFM to automatically render links.
Cleaned up the README requirements section.