Feature 2. Work on stdin and stdout

Working on an iterator that will do some amount of buffering.

It turns out that istream_iterator on std::in can't really be copied
properly, and you can only read the value from it once.

This iterator will allow copying and rereading the value through
buffering.
Working on this buffering iterator for reading in stdin