Only write label if there is a label AND labeling application.

Previously, the code attempted to write the label if there was a label
OR no application to do the labeling.
However, the writeLabel() method defensively noticed if there was no label
or no application to do the labeling and raised an error in either case,
which was immediately caught by the enclosing code.

The difference in behavior is that there will be fewer lines of the form
"Failed to write label...[makes no sense..., no application to set...]"
in the storage log, ideally none at all.

There probably weren't very many error messages, as there are few major
filesystems that do not have a labeling application.

Tests didn't catch the problem because they do not check logs.

Also, use relabels() method in place of equivalent expression.

Signed-off-by: mulhern <amulhern@redhat.com>