A Kata 14 challenge

This package implements the Trigram Dictionary reader and text generator
as explained in http://codekata.com/kata/kata14-tom-swift-under-the-milkwood/

"To generate new text from this analysis, choose an arbitrary word pair as a
starting point. Use these to look up a random next word (using the table above)
and append this new word to the text so far. This now gives you a new word pair
at the end of the text, so look up a potential next word based on these. Add
this to the list, and so on."
"For this kata, try implementing a trigram algorithm that generates a couple of
hundred words of text using a book-sized file as input. Project Gutenberg is a
good source of online books (Tom Swift and His Airship is here). Be warned that
these files have DOS line endings (carriage return followed by newline)."
"What do we do with punctuation? Paragraphs? Do we have to implement backtracking
if we chose a next word that turns out to be a dead end?"

To do this we have to read a text and decompose it into trigrams. A first try at
a solution produced a large run-on sentence.

One option is to add punctuation to the trigram structure so that sentence ends
are generated.