New combinators: between, lbetween

* between(lsep, item, rsep) => sequence(skip(lsep), item, skip(rsep))
* lbetween(lsep, item, rsep) => sequence(skip(lsep), lift(item), skip(rsep))
Implement toString() on all Matchers
Compact Node.toString
Merge pull request #1 from krig/master

Add between() and add/update toString()
Add a simple tree validator