Overhaul getline()

...now I know more about streams and buffers