Fix error handling.

MFC after:	1 month
Coverity CID:	1249768
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit e46d09e9b4d091074421f0abc11917a785d22b40)
Add missing error checking for kernel_port_{add,remove}().  Both can fail
for reasons yet unknown; don't make it increment cumulated_error as a kind
of temporary workaround.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit a2fcd431540abce5510a48a6760b895eb3274a82)
In conf_apply() remove iSCSI ports from kernel before removing LUNs.

Previous order confused initiators with messages about "removed" LUNs
during simple ctld restart without any real config change.  After this
commit initiators only reestablish lost connection, receive "Power on
occurred" UNIT ATTENTION status and continue normal operation.

MFC after:	1 month

(cherry picked from commit 69cdfe7aaaaaafb5e86602a7bece334a9baabb97)
Close race between cfiscsi_offline() and new connection arrival.

Incoming connection should be either rejected or accepted and terminated.

(cherry picked from commit eceb697d780a2c0a58aa644f8ea71e6244d04661)
Make cfiscsi_offline() synchronous, waiting for connections termination
before return.  This should make ctld restart more clean and predictable.

MFC after:	2 weeks

(cherry picked from commit 1e5d8c9aac5777d8b7f31fbc7725947d3587d41c)