Fix bug in generation of error messages in check_device_ids
Fix bug in generation of error messages in check_device_ids

The list of offending devices was empty in all messages in returned
errors, which would have been frustrating to any users actually reading
the messages.

Do the fix by rewriting check_device_ids so that it takes a mutable
vectors of devices and then subdivides that vector into the relevant
categories.

This is a lot clearer and avoids all the indexing back into previously
processed data structures that led to the bug in the first place.

Also, it makes it much easier to enhance the messages with further
information should that prove necessary during later development as the
entire DeviceInfo struct is available wherever there is an error.

The DeviceInfo struct has a very miscellaneous bunch of data in it,
so it is not easily amenable to copying; it is much more straightforward
just to transfer ownership as the vectors are subdivided into smaller
vectors representing different categories of possibly-to-be-initialized
devices.

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

stratis-storage/stratisd,stratis-storage/stratisd,stratis-storage/stratisd