Add infrastructure intended to enable diagnosing/tracing of i/o calls. A user of the API should be able to get callbacks for read and write operations on sockets and files. When not used, the implementation should add a minimum of overhead.
The following information should be provided:
File: path, number of bytes read/written
Socket: port, remote address, number of bytes read/written, timeout value for reads
Instrumentation does not (yet) have to cover asynchronous i/o calls.