Updated to use a single thread for I/O, and asynchronous/event drive data
forwarding rather than spinning an I/O loop.
Cleaned up termination case: now using a stop event rather than aborting
the threads.
Added NuGet package reference for log4net.
Added x64 target to solution.