Rewrite binaryExprParser
Rewrite binaryExprParser

- remove space lookahead from binary operator regex
- move untility functions closer to binary expr parser
- add `current` to consume one token at a time
- add isBinaryOperator and isExpression helper functions

We rewrote the parser to avoid making a patch with left recursion
in the previous version.

cleanlang/clean,cleanlang/clean,cleanlang/clean