Automatic name generator that uses a Markov chain and supports training.