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

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
vrai c'est assez sale. mais c'est que la perpetuation d'une mauvaise idée. D'autres tests utilise le meme `test_file_read.nit` comme ça au moins ça réduit le point de fragilité.

Je vais laisser comme ça. en attendant sachant qu'il faudrait un jour déplacer tous ces tests de lib en quelque chose de plus robuste comme des testunits. #1035