nautilus-directory: Implement monitor list with hash table

The original linked list can be O(n^2) (n = the number of files)
in the worst case.
3 jobs from search-optimize in 30 minutes and 12 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
passed #162234
flatpak devel

00:24:46

8.9%
 
  Deploy
passed #162235
review

00:05:26

manual #162236
allowed to fail manual
stop_review