changes to testLM.py and added nltkTest.py

Slight updates to testLM.py and addition of nltkTest.py and supporting
files.

The NLTK official release omitted the nltk.model module, so this module
was found and pulled individually to have access to NgramModel() class.

nltkTest.py then used this module to test over the same files testLM.py
does.

Comparing test results using testLM.py and nltkTest.py showed similar
perplexity values, with the difference explained by slight parameter
differences. The assignment uses a custom simple katz backoff model,
while nltkTest.py uses katz backoff with simple good turing as we do,
but minus the custom parameters. So very similar but different.

While results showed close ppl values, training time of generateLM.py is
about an hour, whereas train and test time of nltkTest.py is under a
minute.

Clearly a bug slows down our program. I think string comparisons can be
eliminated completely with clever data structure changes, however.

TODO: Modify generateLM.py to eliminate N^M string comparisons that are
KILLING ME.