vchan_destroy() should be able to call chn_kill() regardless of whether
the channel has been added to the children list yet or not.
Additionally, even with this patch, the code assumes that the channel
has indeed been added to the list and will attempt to remove it from the
list without any checks. While a scenario where vchan_destroy() would be
called with a NULL channel is rare, it's better to prevent a potential
NULL-derefence by using CHN_REMOVE_SAFE() instead of CHN_REMOVE().
While here, remove the CHN_F_BUSY check. There is no reason we shouldn't
execute the code below if the parent is not busy.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week