socket: Split up soreceive_generic()
Factor out the bits that run with the sock I/O lock held into a separate
function. No functional change intended.
Reviewed by: gallatin, glebius
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D46304