Not and or

Should probably review commit by commit.

Agile planner ticket:

https://www.agileplannerapp.com/boards/105200/cards/8757


It would be good to have at least one predicate test  to show what the expected behaviour is for the potentially ambiguous cases (as mentioned in the `README`).

It'll help catch subtle parsing regressions, act as documentation to future devs and give something to work from if/when we add a more robust precedence model and/or nesting syntax.