A Review of Dialogue Systems: From Trained Monkeys to Stochastic Parrots