ctl: Update some core data paths to be protocol agnostic
- Add wrapper routines for invoking the be_move_done and io_continue callbacks in SCSI and NVMe I/O requests.
- Use wrapper routines for access to shared fields between SCSI and NVMe I/O requests.
- ctl_config_write_done is not fully updated since it resubmits SCSI commands via ctl_scsiio. This will be completed in a subsequent commit when ctl_nvmeio is added.
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44846