This is a prerequisite for adding NVMe over Fabrics support.
A new target-level protocol type is associated with a 'struct
target_ops' which contains methods for various protocol-specific
options such as populating requests to add and remove ctl(4) ports.
While here, move some iSCSI-only functions out of ctld.c and kernel.c
into iscsi.c and make discovery.c, iscsi.c, and login.c which are all
iSCSI-specific conditional on MK_ISCSI.
Sponsored by: Chelsio Communications