[merge FIRST] Predicate types: greater, lower, strictly greater, strictly lower

Support predicates of type
```age > 5```, ```number_children <= 3```
For the moment this assumes that the variable can use the "usual" comparison operators "<=", ">", etc...
For more complex types, this will need to be iterated on. 
The four comparison types are implemented: "<=", "<", ">=", ">"
i've just added really quite a lot :-( :arrow_down: let me know what isn't covered here that you would like to see covered