Tool Learning with Foundation Models