Iterate through the possible phrases in the input (always starting from the first word). In the
event that the first word is quoted per quoted_words, the first result will be the contents
of the quotes, but subsequent results will include the quotes as part of a larger phrase.
Iterate through all words in the input, treating multiple words surrounded by quotation marks
as a single word. Returns Substr objects, preserving the word’s context within the larger
string.