1971: DeHackEd/arc-mutexes - Remove kmutex_t & kcondvar out of arc_buf_hdr_t

Under Linux these data types together consume around 100 bytes of space.
Having them in the arc_buf_hdr_t makes them nearly 50% larger than they
would be otherwise. When lock debugging is enabled it gets even larger.

This patch moves them to a single global array to be shared similar to
how the znode hold locks in zfs_sb work. We're trading some potential
for artificial lock contention for drastically smaller kernel memory
objects.
My commits.
Figured out a way to get LIO session.
Update extra share script LIO with better values.
Do not setup a lun if auth{name,pass} and initiator is unset.