Factual Consistency In Neural Text Generation: Detecting, Correcting, And Understanding Hallucinations