Adds checks to ensure that the refcount (number of listeners) of
IFF_PROMISC (ifp->if_pcount) is non-zero before clearing.
This avoids kernel panic on assert failure in if_setflag() on clearing
IFF_PROMISC using ifpromisc(9) if the flag's refcount is zero.
ifpromisc(9) internally calls if_setflag() which assumes the refcount
to be positive when clearing a flag.
This fixes https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288967
Sponsored by: Google LLC (GSoC)