MTP: Fix race between on_uevent and do_unmount.

I've never seen this happen personally, but an Ubuntu bug reported
that on_uevent fired after the gudev client had been finalized, so
it must be possible to race between an explicit unmount and
physically unplugging a device. I made a brief attempt to reproduce
this but couldn't.

In any case, it's easy enough to protect against by taking a few
measures:

1) Explicitly disconnect the signal handler before unref'ing the
   gudev client.
2) Use g_signal_connect_object to keep the backend alive enough
   for on_uevent to complete.
3) NULL out the dev_path so that if we end up in on_uevent after
   do_unmount has cleared the dev_path, the compare will fail
   gracefully.
Fix hopelessly short timeout in file transfers.

The client code was using the default 25 second timeout for
file transfer operations, which is far too short.
Add display name support to gvfs-ls.
Ubuntu: Shared libgvfscommon