[FIX] Major bug fix in timeout input stream.

The bug in question enabled datareader to override unread messages. I.e. datareader could make two or more subsequent reads without each message being consumed.