gdesktopappinfo: keep a list of files in the dirs
In each DesktopFileDir, store a list of desktop files for that directory. This speeds up opening desktop files by name because we can skip statting in directories that we know don't have the file and also speeds up _get_all() because we can avoid enumeration. We use a file monitor to watch for changes, invalidating our lists when we notice them.
Showing with 489 additions and 106 deletions