tcp: remove lock around progress conn sends

it leads to deadlock.
Also, re-enable recving a message until complete. When sending, RMAs
we send in two chunks, the header and data. Since we disable NAGLE,
TCP sends them separately. The receiver may get a POLLIN before the
data arrives and the recv will return early. This is bad.