Use a std::vector for queries to make it easier to pass around, this
also removes the arbitrary limit to how many queries can be done at
the same time. Pass the output format, queries and file paths into the
cache key computation instead of the raw command line arguments, to
prevent --json from being hashed to something different than -j.
Remove hashing of file modification times, it's in the way of some use
cases, e.g. still returning cached results even if the files are
removed.