distinguish 'return' in switch blocks et al.
Currently there is no difference between 'x;' and 'return x;' in a switch-block. This difference should IMO be made, but it probably can't be done instantly as there are significant amounts of 'wrong' code out there. r1993 added some preliminary code, but more work is needed. Implementation detail: ast.switch.SwitchValue should probably be moved to actions.action2var, so we can also create SwitchValues from there without circular imports.