main: move NoMatch raising to _collect()
main: move NoMatch raising to _collect()

This is a more sensible interface for matchnodes.

This also fixes a sort-of bug where a recursive call to matchnodes
raises NoMatch which would terminate the entire tree, even if other
branches may find a match. Though I don't think it's actually possible.

nicoddemus/pytest,nicoddemus/pytest,RonnyPfannschmidt/pytest,Akasurde/pytest,The-Compiler/pytest,pytest-dev/pytest,markshao/pytest,The-Compiler/pytest