Some more robust behavior

 - previously, if an n-gram hadn't been seen before, it would just
   error. Now, it picks the next word uniformly from all words.
 - web interface works more properly now.