b43ffcb677
This method now accepts a sh_ptr<vector<DeviceAttachmentSpec>> to tell it specifically which specs to attempt to attach. This enables us to implement different frontends that supply it with collections of devices from different sources (GUI, cmdline, previously failed-to-attach/hot-removed devices, etc). SMO temporarily initializes none of the devices from the cmdline during this commit as we transition to implementing the cmdline collection frontend.