Fix a bug in cleanup in initialize_devices
Fix a bug in cleanup in initialize_devices

If a device could not be opened, the method would exit directly,
without attempting cleanup of previously opened devices.

Fix by restructuring the computation so that each device is
initialized in a separate method, initialize_one.

Remove the TODO about the imaginary state machine.

Add some warning log messages if cleanup fails.

Add some additional documentation.

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

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