Deep Learning and Foundation Models for Weather Prediction: A Survey