Feature: Pushing back bytes to buffered stream

Instead of creating an [extra implementation](http://docs.oracle.com/javase/7/docs/api/java/io/PushbackInputStream.html), this pull request suggests to add pushing back into the existing `io.streams.BufferedInputStream`.