Reproducibility: Principles, Problems, Practices, and Prospects