Added passive-to-active transition support, including transitioning on
syncache timeout with a synfilter-configurable timeout.

Passive socket pairs now hold a reference to each other to that the
state of each is available for use during transition to active, even
if flow in one direction has been shut down by one of the remotes.

It is now possible for a non-passive listen socket to spawn passive
sockets and passive listen sockets to spawn non-passive socket - that
is, a syn filter can now decide whether to treat a given connection as
passive or not.  If no syn filter is used, new sockets spawned by a
listen socket still inherit their passive mode setting from the listen
socket.
Merge branch 'master' into passive_to_active
Merge branch 'master' into passive_to_active
Expand .gitignore
Improvements to passive-to-active transition

- l2info can now be set from a synfilter

- altfib can now be set from a synfilter, so the interface the
  syncache responds via during a timeout conversion to active can be
  selected

- SO_PASSIVE for new connections now defaults to the listen socket
  setting (as before) but can be overridden in/by the syncache.

- the INP_INFO lock is now acquired during passive-to-active
  transition on a socket.
Merge branch 'master' into passive_to_active
Merge branch 'master' into passive_to_active
sorele_nounlock() was a fiction.  Cleanup of passive socket pairs on
listen queues was not being handled correctly.  In the new approach,
putting extra refs on passive socket paris is abandoned in favor of
deferring cleanup of each until both have no refs remaining.
Squash socket refcount adjustments that are no longer needed.
When reusing tcp_do_segment() to set up passive peer sockets, I
completely overlooked its lock-releasing behavior.  This is the
practical near-term solution that Adrian and I worked out and that
Adrian authored.  Ideally, the operative bits of interest to the
passive peer construction code could be factored out of
tcp_do_segment().
Merge branch 'passive_to_active'
Merge branch 'master' into passive_receive_pcap_adrian