Silence some integer truncation warnings.
Only perform the windows-bug workaround where we use a short timeout with GetQueuedCompletionStatus from one thread, i.e. the timer thread.
Keep track of the number of OVERLAPPED-derived operations to ensure that they all get cleaned up when the io_service is destroyed.