Implement the consumeNewWord() method that will handle new words defined
in format strings enclosed in double curly braces. The format is as
follows:
{{word_type:word:options,list}}
The notable difference between this and the other definitions is that
only verbs and nouns are allowed to be defined this way. Additionally
only regular verbs and nouns are allowed (the "irregular" option is
ignored).
A new sentence has been added that utilizes this new function.
Lastly, some of the option parsing code for verbs and nouns has
been separated into their own functions so it can be reused between both
consumeWord() and consumeNewWord().
Base word types are implemented. The format for defining a word is as follows:
{word_type:optionA,optionB}
Where `word_type` is one of the following:
- adjective
- noun
- noun_phrase
- pronoun
- verb
Followed by a colon and a comma separated list of options for that word.
Options are as follows (adjectives have no options):
Nouns:
- compound
- plural
Noun Phrase:
- indefinite
- noadj
- plural
- compound
Pronouns:
- plural
Verbs:
- conjugation type: i (default), you, it, we, or they
- conjugation time: past, present (default), or future
- invert (not implemented yet)
Options for a word type are optional and may be omitted.