Filter out duplicate AC_PATH_REGISTERED async events.

Queued async events handling in CAM opened race, that may lead to duplicate
AC_PATH_REGISTERED events delivery during boot.  That was not happening
before r272935 because the driver was initialized later.  After that change
it started create duplicate ports in CTL.

(cherry picked from commit ab5e97992fb837cb1eee09a5f1262567a5a89ba5)

Conflicts:
	sys/cam/ctl/scsi_ctl.c
Set CAM_SIM_QUEUED flag before calling ctl_queue() to avoid race.

PR:		194128
Submitted by:	Scott M. Ferris <smferris@gmail.com>
MFC after:	3 days
Sponsored by:	EMC/Isilon Storage Division

(cherry picked from commit 90e45e872567394488b42e3824f966c49451bf4a)
Make iSCSI connection close somewhat less aggressive.

It allows to push out some final data from the send queue to the socket
before its close.  In particular, it increases chances for logout response
to be delivered to the initiator.

(cherry picked from commit b8710d7f1c191028a4b06dafd9c859c99dad092c)
Store persistent reservation keys as uint64_t instead of uint8_t[8].

This allows to simplify the code and save 512KB of RAM per LUN (8%)
by removing no longer needed "registered" keys flags.

(cherry picked from commit a1c2a0e00c5d5ed394fc587fffdcc02fffabd150)
Make ctld start even if some LUNs are unable to open backing storage.

Such LUNs will be visible to initiators, but return "not ready" status
on media access commands.  If backing storage become available later,
`ctladm modify ...` or `service ctld reload` can trigger its reopen.

(cherry picked from commit 96aaf8224f413fc723e4d3f75271dda0fcf43049)

Conflicts:
	sys/cam/ctl/ctl_backend_block.c
Shorten frontend name.

(cherry picked from commit 1ba6a6c2fd7549c0c8eaf2f3973626c63c4f7ee5)
Give physical and virtual ports numbers some more meaning.

(cherry picked from commit ec71d2fca1ffe930ae141cbd38eebb35257c087d)
Improve and document `ctladm portlist` subcommand.

Make this subcommand less FC-specific, reporting target and port addresses
in more generic way.  Also make it report list of connected initiators in
unified way, working for both FC and iSCSI, and potentially others.

MFC after:	1 week

(cherry picked from commit e3e9d7f585ddc1035aee9aab7cc3dcc190177e4e)

Conflicts:
	usr.sbin/ctladm/ctladm.c