Fix unary and postfix operators

It turns out that the postfix increment and decrement operators are only supposed to work on lvalues, not on expressions. I've fixed that in the AST, parser, and generator.

Also, I think we should get rid of the prefix increment and decrement, since those are rarely used, and would require a different AST type in order to be done correctly.