main: Fix potential data loss when removing multiple files

We were using a list of GtkTreePaths and deleting the items one-by-one
when the user clicked the "Delete" button. But after the first deletion,
the tree model would have changed, and instead of pointing to the 2nd
item we wanted to delete, the GtkTreePath would have pointed to another
item, usually not one that we wanted to delete.

We now use GtkTreeRowReferences, which will always point to the same
row, as long as it exists.

https://bugzilla.gnome.org/show_bug.cgi?id=729778