The National Science Foundation Research Experiences for Undergraduates Program: Experiences and Recommendations