Add NGram a type
Add NGram a type

 - The NGram a type is intended to carry the number of words in
   the ngram as a fixed part of the data type. This choice should
   hopefully prevent unnecessary iteration through lists and
   obviate the need to use `words` on Text to get the length.

   Encoding the length to prevent iteration may be useful for
   the calculation of some statistics that depend on the length
   in words of an ngram.

R-Morgan/NGramCrackers