DVPL-5297 | Split .NET logging into two packages, one for TraceListener, one for SLAB, so we don't force SLAB dependency on TraceListener users.
DVPL-5298 | Implement generic TCP connection handling and event writing, and TraceListener wrapper around it.
DVPL-5298 | Write TcpEventSink. Factor out connection details from reconnect policy.
Fix small error.
Some work on the TCP reconnect stuff. Don't know how to test it.
Add docstrings to codebase.
Add material to README.md about TCP logging.
Partial work getting TCP logging testable, and fixing lots of race conditions.
Removed stuff that shouldn't be checked in.
UDP tests use mock socket. TCP tests for reconnection logic.
Convert TcpEventSink test to use mocks. Add some docstrings.
Localize socket handling to one thread.
Cleanup and unit test fix.
Add a couple of comments.
Add copyright header everywhere.
DVPL-5298 | Add TCP logging support.
DVPL-5298 | Resolve dfoster's first round of code review comments.
DVPL-5298 | Fixed HostnameToIPAddress method to return the first address if multiple ones are found.

Looking up "localhost" on Windows machines typically returns at least four addresses per network interface
(loopback and external, in both IPv4 and IPv6). This will be even more generally true for IPv6.
Major readme updates
Update README.md