unp_pcb_owned_lock2() has some sharp edges and forces callers to deal
with a bunch of cases. Simplify it:
- Rename to unp_pcb_lock_peer().
- Return the connected peer instead of forcing callers to load it
beforehand.
- Handle self-connected sockets.
- In unp_connectat(), just lock the accept socket directly. I believe
it is safe to do so.
- Get rid of connect_internal(). Callers verify that the socket is
connected afterward, and unp_connect() will be modified in a follow-up
diff to verify that the socket is not already connected.
- (Ab)use UNP_CONNECTING to guard against concurrent creation of
connections while relocking PCBs.