Enhances the game round by disallowing an invalid state.

A StepResult could be corrupted if we give it a `$playerAnswer` and a `$validAnswer` that are the same answers but a `$isValid` flag to `false`. In such a case, the player's answer is good but the step is although considered as invalid.

The validation check is moved from the `Round` to the `StepResult` as it has enough information to resolve this flag.