libmultipath: Use existing user friendly name if possible

When a system is booted to the SAN, a condition can occur where one
user friendly name is given to a disk during boot, but multipathd tries
to allocate a different one after boot. If the second alias is already
used by another device, multipathd can't rename it. Multipathd then has
incorrect information about the alias/wwid relationships, which can
result in paths being added to the wrong map.

This patch works around this problem by first trying to use the alias
already bound to a device during boot.  If the bindings file has that
alias bound to a different device, it'll auto generate a new alias to
rename it to.

The alias prioritization is:
1. multipath.conf per-device alias
2. Currently bound alias
3. New auto-generated alias
4. wwid

References: bnc#898768

Signed-off-by: Sean Stewart <sean.stewart@netapp.com>
Reviewed-by: Shiva Krishna Merla <shivakrishna.merla@netapp.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>