TcpNetConnection IO errors were only logged under DEBUG. * Code was added to suppress the error log when the exception was due to a normal close. This inadvertently suppressed all ERROR logs. * Capture a local copy of this.noReadErrorOnClose before closing the socket after an exception. * Add test case to ensure ERROR log is emitted.