Fixup throw parsing

This fixes one last case of throw parsing and cleans up throw; parsing to be better. I do the first by rotating in the throw parsing into ParseCastExpression as the way the code is written currently, it really wants to handle all the leaf things in that routine. I preserve that and extend that. I don't quite know if I like that design, but, I'll offer this version of the code. I could equally just add the:

  if (
     LHS = ParseThrowExpression();

style code to the few other places that need it. What do people think is better?

eh-2.patch (6.7 KB)