Allow traversing dicts nested with lists when matching
Fix embedded data structure matches

This fixes 2 issues introduced in 428bd43:

1. When traversing too far into a multi-level dict and a bare string is
   reached, trying to index it with the next dict level in the path
   expression results in an uncaught TypeError (caught by unit tests).

2. Continuing the match once a match is found in a dict embedded in a
   list fails (not caught by unit tests, new test(s) forthcoming).
Add additonal unit tests for pull request #13713
Merge pull request #13713 from terminalmage/issue13672

Allow traversing dicts nested with lists when matching