Provide some wrapper socket creation routines to simplify that a bit.

Add a concept of a socket set which allows a group of sockets to be written to simultaneously.  Each socket in a set gets to have a filter function that can censor or edit messages just prior to sending.

Hook received on port 2222 to write to the set 'bi' and receives via port 2223 to write to the set 'uni'.
Also include a set 'debug' which nothing writes to currently.
fix merge conflicts
Use getpeername not getpeerinfo which seems unsupported.
Merge branch 'master' of chef.rinstrumau.local:rnd/L001-503