multipath: better argument type checking
The way that multipath decided what you passed in as an argument didn't
always work. If the argument was the name of a file, then multipath
assumed that it was a path. That meant if you were in /dev/mapper and ran
# multipath -f <mpath_device_name>
It would fail, since it thought you gave it a path name, instead of a
multipath device name. Now multipath will only treat the argument
as a path name if it is a block device with a different major number than
device-mapper's. Also, I've switched the MAJOR/MINOR/MKDEV macros to
work like kpartx, so that they can handle minor numbers over 255.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>