Implement trapped hallway puzzle

* Distinguish timedReact timeout vs sequence mismatch failure