parser/arithm: fix && and ||
"&" and "|" have higher priority, so they were consuming the first character of
"&&" and "||", leaving a trailing "&" or "|".
parser/arithm: fix comparison operators
> and < were recognized before >= and <=. For this reason, >= and <= were never
parsed (since they are prefixes of < and >).
shell/arithm: implement assignments
The parser still chokes on assignments with an operation.
Partially implement arithmetic expansion
The only expansion missing is assignment expansion, which requires more
Additionally, the parser is missing variable support, e.g. $((var+1)).