MTP: Fix leaked weak reference on monitors.

We use a weak reference to automatically clean up the monitor
hash table when monitors are finalized. However, we still need
to remember to remove the weak references when the backend is
itself finalized - otherwise the reference might be fired later
if a monitor happens to get finalized before the backend exits
completely.
MTP: Fix crash when libmtp operations fails without error message.
MTP: Respect remove_source when pulling a file.

This was just an oversight.
MTP: Respect remove_source in do_push.

I still think it's odd that it's the backend's responsibility to
delete the source file, as opposed to the client.
WIP: Use android extensions to support in place read of files.

Allows for opening files directly on the device and reading from them.
WIP: Use android extensions to support in place write to files.

Allows for opening files directly on the device and writing to them.
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