umount: improve --recursive docs

Signed-off-by: Karel Zak <kzak@redhat.com>
libmount: optimize tab files parsing

 - ignore empty files
 - ignore empty tables

Signed-off-by: Karel Zak <kzak@redhat.com>
libmount: don't prepare update for empty mtab/utab on umount

Signed-off-by: Karel Zak <kzak@redhat.com>
libmount: export umount mountpoint look up code

Signed-off-by: Karel Zak <kzak@redhat.com>
umount: add --all-targets

The same source (whole filesystem or filesystems subvolume) could be
mounted on more targets (mountpoints). For example bind mounts or
btrfs sub-volumes.

If you want to detach the source device from the system then you need
to unmount all the mountpoints.

 umount --all-targets <device|mountpoint>

provides this functionality. This option could be used together with
--recursive. Then all nested mountpoints within the filesystem are
unmounted too. For example:

 umount --recursive --all-targets /dev/sdb1

should be a way how to make the device unmounted at all.

Signed-off-by: Karel Zak <kzak@redhat.com>
tests: add umount --all-targets tests

Signed-off-by: Karel Zak <kzak@redhat.com>
docs: update deprecated.txt

Signed-off-by: Karel Zak <kzak@redhat.com>
umount: add note about namespaces too --all-targets

Signed-off-by: Karel Zak <kzak@redhat.com>
libmount: ignore name=value if only 'name' is expected

For example

	mount /srv/www /mnt -o rw,group=woven,dev,suid

the group= should not be interpreted as userspace mount option, because
umount(8) expects 'group' (without =<value>).

Reported-by: Jan Engelhardt <jengelh@inai.de>
Signed-off-by: Karel Zak <kzak@redhat.com>