REFACTOR: Move `ComparisonOperatorTerminal` to its own file.
Move `BinaryExpressionAst.cs` to the correct location.
REFACTOR: Extract base class `BinaryOperatorTerminal` from `ComparisonOperatorTerminal`
Fix tokenizing of binary operators (e.g. `-or`)

We need to mark binary operators as high priority, so they get recogized as operators.

See commit 522b1b2adf09dcc46ce03bd7a8314d301164c69b to understand what is going on.
Build AST for logical operator (`-or`, etc.)
Assignment expressions shouldn't write to the pipeline.
Fix `StatementBlockAst.ToString()`
Remove useless comments in `PSObject.cs`.

They're just noise.
Array indexing.

This works:

    PASH > (10..12)[1]
    11

Making this work gets us 1 step closer on Issue #11.

There is a growing trend in the code of unwrapping `PSObject`s, and that must be corrected at some point.

There is also some growing duplication around conversions, which needs to be DRYed out and brought in alignment with the spec.
Post-increment (`$x++`)
Logical operators: `-or`, `-xor`, `-and`. Also `-gt`.

Only for `bool`.
REFACTOR: A better way to decide when to write side-effects to the pipeline.

Avoids the duplication of assignment between `VisitAssignmentStatement` and `VisitParenExpression`.
Write result of post-increment to pipeline as needed.
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`