Upgrade to SBT 0.12.4
Add shapeless dependency
Rename `||`, `charRule` and `stringRule` to their parboiled 1.x counterparts
Improve AST-matching DRYness and performance, improve AndPredicate and Optional rendering
Reorganize tests