A Survey of Diffusion Models in Natural Language Processing