fails:IO#getbyte returns the next byte from the stream
fails:IO#getbyte returns nil when invoked at the end of the stream
fails:IO#getbyte raises an IOError on closed stream
fails:IO#getbyte returns nil on empty stream
