Add support for * operator

It matches anything in a path. So in effect it is a shortcut for ~".*"
Support #node subqueries
Switch to use a AST and a evaluator

This switches it to use a abstract syntax tree (using the ast-types
library).
It also has a evaluator that uses the visitor pattern to evaluate the
parsed query.
Add date parsing with the @ symbol (like in git)

So now queries like #node.report-timestamp<@teatime work.

The feature is using the timespec library to do the fuzzy date parsing.
Switch parser to only return the AST

Have a main file that exports a function that both parses and evaluates
a query.
Update README to include new features.
Release 0.4.0