Reorder the nested extract loop iterating through the grammar
entries to process only one subentry for all matching tokens.Move the check for a date when extracting expressions to a method.
Add assert tests for extract_datetime(): one for the context
dependant return and another for the nested extract loop fix.Improve code visually of the parse success and failure test files.