mtp: removed the faulty g_free(new_name) at the end of do_set_display_name()

The new_name string is passed to add_cache_entry(), which assumes full
transfer; therefore, freeing the string manually causes issues further
down the line.

Signed-off-by: Rok Mandeljc <rok.mandeljc@gmail.com>
mtp: implemented support for LIBMTP_EVENT_STORE_REMOVED

This patch adds support for LIBMTP_EVENT_STORE_REMOVED, so that if a
storage is removed, its entry and those of its children are
automatically removed. For each such entry, delete event is also
emitted.

With this patch, the corresponding storage disappears from Nautilus
as soon as the SD card is unmounted on device. Similarly, if Nautilus
is located in the storage or one of its sub-folders, the window gets
properly closed after the storage is removed.

Signed-off-by: Rok Mandeljc <rok.mandeljc@gmail.com>
MTP: Emit delete events when unmounting.

Although it would seem obvious that a mount disappearing should
invalidate any file references in clients, recent versions of
Nautilus will keep open windows around, showing all the files that
were there at the time of the unmount.

So, clearly we need to emit these events to get it to clean itself
up.