Lots of work on testing and error handling.
Lots of work on testing and error handling.

 - Streams can fail or close before we can attach them,
   even with __LeaveStreamsUnattached
 - socket errnos:
   - ENOTCONN during getpeername() and send()
   - ECONNRESET during send
 - Due to failures during getpeername() it's simpler to record
   only successful port tests, and determine failures by
   ports missing from our successful set.
 - Normalize test debug messages to make it easy to grep logs.

hbock/torbel