Rewrote to use log prob

GenerateHMM now writes log probabilities, and counts, to the model file.

TestHMM now has modified viterbi to use log probabilities, and viterbi
rewritten as a whole.

TODO: Add functions for accounting for unseen events.
TODO: Add debugging functions for viterbi