Fixed remaining bug and cleaned up PMI model.

The results are still not quite as good as those posted on Piazza, but
I think that poster was tinkering alot. Right now the PMI model is a
really basic implementation. I did add functionality that randomizes
the choice when there is no training info and this actually helped
a lot. I'll maybe tinker a little bit more before we submit.