fails:IO#ungetc pushes back one character onto stream
fails:IO#ungetc pushes back one character when invoked at the end of the stream
fails:IO#ungetc pushes back one character when invoked at the start of the stream
fails:IO#ungetc pushes back one character when invoked on empty stream
fails:IO#ungetc affects EOF state
fails:IO#ungetc adjusts the stream position
fails:IO#ungetc makes subsequent unbuffered operations to raise IOError
fails:IO#ungetc raises IOError when invoked on stream that was not yet read
fails:IO#ungetc raises IOError on closed stream
