Explicitly return a StateInvalidError from ChoiceState.check.

Not doing so means ``self.error_text`` is returned which could easily be something strange that ``State.validate`` doesn't recognize as an error.