Final speedups, errors marked, runtest.py

Added runtest.py which simply runs generateLM.py and testLM.py with
consistent parameters.

Runtime of generateLM.py reduced from 30s to <6s merely by removal of
print debug statements. The excessive print output was interrupting the
program enough to slow it down. So no further speedups should be
necessary.

Various potential calculation errors have been noted. Seems some weight
values are negative, leading to value errors when doing their log.

The program before was simply skipping the log calculations in this
instance, leaving many weights (6000 out of about 30000 unigram weights)
as their raw value.

These small negative weights seem to increase perplexity.

My perplexity value appears OK (46 and expected is in ballpark of 50),
but skipping log calculation seems wrong.

Messed around with simply taking the log of the absolute value, but the
reality is IF weights should never be negative, then my original weight
calculations have an error somewhere.