Each line

Improve IStream and Path for easiness of reading.

First, add new iterator `each_line` that lazily `read_line` of a stream.

Second, wrap some reading methods on `Path` so that the input of data from files is really easy.

~~~nit
var content = "/etc/issue".to_path.read_all
print content
~~~

and

~~~nit
for l in "/etc/passwd".to_path.each_line do
   var fields = l.split(":")
   print "name={fields[0]} uid={fields[2]}"
end
~~~

TODO: better error management
pour donner un nom au résultat du read_all, et séparer la lecture du contenu de son utilisation.
J'ai le sentiment que ca rend l'exemple plus lisible