A Survey of Reasoning with Foundation Models