There was nothing preventing one from sending an empty fragment on an
arbitrary KTLS TX-enabled socket, but ktls_frame() asserted that this
could not happen. Though the transmit path handles this case, we should
be strict and allow empty fragments only in modes where it is explicitly
allowed.
Modify ktls_frame() to signal an error if an empty mbuf is encountered
when building TLS frames, unless the session explicitly permits it.
Extend the KTLS regression tests to exercise this check.