Add -l and -- options

This PR adds support for two new options: -l (lowercase L) to only list the names of files with matches, similar to grep; and -- to explicitly indicate the end of options, so matching patterns can start with a hyphen.