Fix embarassing errors in case expressions
Fix the postponed aexp problem.

The aexp production ran into issues and I had postponed dealing with
them. The original aexp declaration was basically what the Report says.
Then I changed the self-reference to a ParserReference, which made it
left-recursive. Then I postponed the problem by using an incomplete
declaration.

The current formulation recognizes that the Optional combinator solves
the whole problem that the recursive statement was trying to solve,
in a cleaner way. The Report formulation highlights the labeled update
and labeled construction options of the aexp production, which my new
formulation also does, in anticipation of it being practical to do so.