Modeling Communicable Diseases, Human Mobility, and Epidemics: A Review