Disable witness on uio for now - sx locks aren't real sx locks
and aren't marked as sleepable, so witness bitches.
Fix some lock order and unlock-a-not-locked-lock due to how the passive code
abuses tcp_do_segment().

tcp_do_segment() drops the locks upon return.  The libuinet passive code
uses it to process a synthetic syn/ack frame to fake up a passive inp/socket
for the other side of the new connection but then locks are dropped when
they shouldn't be.  This leads to all kinds of issues.

This is a total hack to paper over it for the time being until a better
solution is prepared.  I'd like to see the relevant bits refactored out
of tcp_do_segment() so it can be called directly by the passive code and
by tcp_do_segment().