List all files on `ag -l` without arguments

I made a distinction between `needs_query` and `accepts_query`, so that the `-l` option will consume a query if it's there, but use the default if none is provided. This fixes #377, and still works as desired for #185.