Work on how -r interacts with printing filenames.

Better, but not 100% correct (grep -rl doesn't do right thing).
Needs more tests!