Cross-Domain Recommendation: Challenges, Progress, and Prospects