Java implemenation for finding a Viterbi Path through a Hidden Markov Model, and running iterations of Viterbi Training.