Supporting IO.ungetbyte

We can use ungetc to support ungetbyte, that will left only 1 spec failing which is an edge case. What happens is that when trying to push the number 4095, like the specs do on the ChanelStream class that int will be convert to a byte (-1) and inside jruby internals -1 is considered EOF, so for we to support this we would have to change a lot of things. The method willl work for every number but 4095 because of this case.