Update to hash words to unsigned shorts first.  About twice as fast.

There are only 11395 unique words (vs >100k lines), so we map
the words densely into the integers.  The resulting short keys
greatly improve memory performance and replace strcmp's with
integer equality (which is good, I think).  The benefits of this
approach should increase with the scale of the input problems, as
the set of words will saturate faster than the set of sequential
word pairs.