Introduce seperate mutex lock to protect protect CTL I/O pools, slightly
reducing global CTL lock scope and congestion.

While there, simplify CTL I/O pools KPI, hiding implementation details.

(cherry picked from commit 6d6a21f04914d67288df222f8f99cb3cfb4e78c2)
Properly report an error instead of panicing when user tries to create
LUN backed by non-disk device, e.g. /dev/null.

Reviewed by:	ken (earlier version)
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit 0cd85d010b0095c7d0fd4c929b3e7d0bcebbc3c3)