net: avoid more tcp_close() in tcp_do_segment()

Commit 8340e21b58b ("net: don't close the tcp connection within
tcp_do_segment()") removed calls to tcp_close() from within tcp_do_segment(),
as preparation for net channels, but missed two cases where tcp_drop() calls
tcp_close().  This causes a locking mismatch when a TH_ACK|TH_RST packet is
received.

Fix by calling a new function tcp_drop_noclose() instead, and set want_close
for deferred closing.

Seen with a Tomcat workload with many (600) connections.

Reviewed-by: Tomasz Grabiec <tgrabiec@gmail.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>