Add support for linear device-mapper devices.
DMLinearDevice is treated like a disk, meaning it can be partitioned.
Like the other device-mapper disk types, it will not have a meaningful
teardown method.
Move setupPartitions up into DMDevice so it can be used by both
DMLinearDevice and MultipathDevice. Also add teardownPartitions even
though it won't get called as of now. Move "slave" property up into
DMDevice also, since all DMDevice subclasses require at least one
backing device.