API: Stream improvements.

1. Adds `readline` method to `Stream` class which reads single line from
   the stream and returns it.
2. Modifies `Stream` class so that it inherits from `Iterable` and has
   an iterator which iterates over each line in the stream.
3. Modifies `File.open` method so that it takes an optional function as
   argument.