Reliable LLM-based User Simulator for Task-Oriented Dialogue Systems