Parsing rules for negated (NOT) predicates

At the moment the simplest way to create parsing
rules is if NOT has a higher operating precedence
than our binary predicate operators. We may want
to change this in the future, but there is a test
to document this behaviour as is.
Transformer rules for negated predicates
Negated predicate model
Rename combined predicates to conjunction predicates

This is in preparation for adding a disjunction predicate
as both types would technically be "combined", this
naming makes more sense.
Parsing rules for OR predicates
Transformer rules for disjunction predicates.
Disjunction Predicate model
Update readme for logical connectives.
Rename logical connective predicates to operations