switch to driver based detection

Vendor based detection does not work, because LSI produces a number of
devices with completely different interfaces.

Driver based detection doesn't either, because mptspi drives both raid
and non-raid devices. In general this detection appears more promising
though.
distinguish block devices from disks

Fact names change. Block devices are listed in "block_devices" and disks
associated with a particular block device are listed in
"block_disks_#{dev}". A main advantage here is that we can list drivers
of block devices without knowing anything about the backing disks.