Add a TCPv4 socket that almost obeys the V1_LWT.TCPV4 interface.

The main blocker is the `input` function, which requires raw frames
and so isn't quite appropriate for a socket version.  The extra
fields need to be moved out into a callback type that varies across
the direct and socket stacks, leaving the listen callback as the
shared signature between them.

Still, this compiles as-is, so putting it in the tree.