message: fix: Correct handling of devices without protocols
  I must have rebased this out by accident
diff: @@ -252,7 +252,9 @@ impl ButtplugDevice {
  // configuration for that device, try to initialize the implementation.
  // This usually means trying to connect to whatever the device is,
  // finding endpoints, etc.
  - match device_creator.try_create_device_impl(config).await {
  + if let Some(proto_creator) = device_mgr.get_protocol_creator(&config_name)
  + {
  + return match device_creator.try_create_device_impl(config).await {
  Ok(device_impl) => {
  info!("Found Buttplug Device {}", device_impl.name());
  // If we've made it this far, we now have a connected device
  @@ -262,8 +264,6 @@ impl ButtplugDevice {
  // whatever it needs. For most protocols, this is a no-op. However, for
  // devices like Lovense, some Kiiroo, etc, this can get fairly
  // complicated.
  -
  - let proto_creator = device_mgr.get_protocol_creator(&config_name).unwrap();
  match proto_creator.try_create_protocol(&device_impl).await {
  Ok(protocol_impl) => {
  Ok(Some(ButtplugDevice::new(protocol_impl, device_impl)))
  @@ -274,6 +274,8 @@ impl ButtplugDevice {
  Err(e) => Err(e),
  }
  }
  + return Ok(None)
  + }
  None => return Ok(None),
  }
  }
  