WordSpace implementation

Added the concept of a dictionary-driven wordspace that can be either static
or learning.  It will (try to) load a word list from a dictionary file (and
storage) that it can then use as indexes for words.  This can be used to
limit the words during learning and prediction.  A learning wordspace will
continue to grow as new words are learned.