file: Disconnect unmounted signal before finalizing Directory
There's a rare crash where the ::unmounted callback is called (before it's disconnected), but after the file's directory has been finalized. This ultimately causes a crash because the unmounted callback, calls file_invalidate_attributes, which calls directory functions.
We could move the existing code to disconnect the unmounted handlder in nautilus_finalize before the call to nautilus_directory_unref, but instead just use g_signal_connect_object which will disconnect the handler in dispose rather than finalize.
Fixes: #3047 (closed)