o Retire SS_FDREF as it is basically a debug flag on top of already
existing soref()/sorele().
o Convert SS_PROTOREF into soref()/sorele().
o Change reference model for the listen queues, see below.
o Make sofree() private. The correct KPI to use is only sorele().
o Make soabort() respect the model and sorele() instead of sofree().
Until now the sockets on a queue had zero reference count. And the
reference were given only upon accept(2). The assumption was that there
is no way to see the queued socket from anywhere except its head. This
is not true, since queued sockets already have pcbs, which are linked at
least into the global pcb lists. With this change we put the reference
right in the sonewconn() and on accept(2) path we just hand the existing
reference to the file descriptor.