Move Ggit.Repository.file_status() call into a worker thread

Otherwise large repositories can block the gedit UI.
Split long line
Fix monitoring for file event

Was checking if the Gio.File was in a set which contains URIs.
Small cleanup
There might not be a repository on inserted()
Clear files and file_names when the file browser's root changes
Add debug messages to git plugin
Merge file id and file name into single dict
Check the types for file nodes

It is very easy to supply the incorrect type. Also use the
Gio.File instead of the URI as that is much easier to use.
Move finding the repository to an AppActivatable

This also fixes various issues when the file browser is showing
multiple repositories or the root itself is not a repository.
Avoid using MessageBus.send_async in a idle callback

All this does is schedule another idle, which is just pointless.
Catch GLib.Error when possible instead of Exception

This can hide problems and make debugging difficult.
Fix issues when a repository is symlinked