REFACTOR: Normalize `expression_with_unary_operator`

Now all variations will have the exact same number of child nodes (1).
FORMATTING: Remove unneeded parentheses.
REFACTOR: Introduce Explaining Variable
REFACTOR: Extract Method `BuildUnaryDashExpressionAst`
REFACTOR: Introduce Explaining Variable
Pre-increment operator (integers only)
REFACTOR: Introduce Explaining Variable in `EvaluateBinaryExpression`
operators `-lt` and -le`

look at all these tests that pass!