Fix for #2910 -- Tidy/matches is too tricky to use
The semantic interaction of tidy/matches and tidy/recurse is tricky to get
right; it only makes sense to use matches with recursion (a fixed path will
either statically match or it won't, no need for a run-time check) but there
was nothing to warn users of this fact. To compound matters, the example
in the matches parameter doc string even made this mistake.
This patch: 1) fixes the doc string; 2) prohibits the use of match without a
value of recurse capable of generating files to match, 3) fixes tests that
were passing for the wrong reason and adds tests on the prohibition added
in (2).