libmount: add mnt_tag_is_valid()

Signed-off-by: Karel Zak <kzak@redhat.com>
mount: make NAME=value tags usable for non-root

The libmount does not care if we set source or target, it's able to
swap it, but the mount.c function sanitize_paths() does not work as
expected if we set NAME=value as target. It means that

 $ mount LABEL=foo

does not work for non-root users (since 51e3530cdcb1d4f3ab91ae953ebc5adcdc5f9239, v2.24).

This patch also checks if source or target is specified more
than once.

Signed-off-by: Karel Zak <kzak@redhat.com>
libblkid: fix memory leak in blkid_parse_tag_string()

Signed-off-by: Karel Zak <kzak@redhat.com>
umount: fix umount by tag for non-roots

 $ umount LABEL=foo

currently does not work for non-root users as umount uses the
LABEL= as a path in sanitize_path().

Signed-off-by: Karel Zak <kzak@redhat.com>