improve induction error checking

* report all missing cases instead of just the first one
* report missing cases instead of "unexpected END" when an induction has
no cases
* report "expected 'end induction'" instead of "expected 'end case
analysis'" when induction is unterminated