Text this: A Comprehensive Survey on Machine and Deep Learning for Optical Communications