User Simulation in the Era of Generative AI: User Modeling, Synthetic Data Generation, and System Evaluation