Make unmount work for devices that have a parent that is a volume (bug #2968).
Make unmount work for devices that have a parent that is a volume (bug #2968).

When a device had interfaces, but none of them was a volume, we
simply failed with an error without checking if the device
has parents that had his capability.

Put the looping code in functions instead of a bunch gotos,
to make the whole thing easier to understand.

rgcjonas/exo-gtk3,rgcjonas/exo-gtk3,rgcjonas/exo-gtk3