Use FmPath to check monitoring events since some VFS may have mixed dirs.

For example, search:// may return few results with the same basename so we
cannot handle that case. Therefore fm_path_compare and fm_path_equal should
be used to looking and FmPath should be kept in lists. That will also take
less memory due to no strdup() but fm_path_ref() is used.
Don't accept updates for FmFolder if file isn't in folder.

The monitor should send us CREATED event before CHANGED in any case.
Folders such as search:// may send us stray events about files not in folder.
[#3582029]Fix name conversion for remote URI to match GVFS.
Implement cache for FmPath: put directory children into GSequence.

This way every requested FmPath is reusable, i.e. there can be no
two different FmPath for the same path and if two FmPath are equal
then their pointer are equal, i.e. we can write
Defer FmFolder updates while file deletion job is processing.
Use lock to access to disp_name in FmPath - it can be accessed from threads.

Also add some descriptions on thread-unsafe APIs of FmFileInfo.
Defer FmFolder updates also for file copy/move jobs while processing.
Beta release: 1.2.0-beta0.