lib/stream: eof is blocking

Signed-off-by: Jean Privat <jean@pryen.org>
lib/stream: `BufferedIStream::append_line_to` does not eat `\n` per documentation

Signed-off-by: Jean Privat <jean@pryen.org>
lib/ini: fix bad subtring for path

Signed-off-by: Jean Privat <jean@pryen.org>
lib/stream: document and test `append_line_to`

Signed-off-by: Jean Privat <jean@pryen.org>
lib/stream: `read_line` chomp EOL, like read_lines

Signed-off-by: Jean Privat <jean@pryen.org>
lib/stream: document `read_all`

Signed-off-by: Jean Privat <jean@pryen.org>
code: update clients of readline since eol is stripped

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update sav since read_line strips eol

Signed-off-by: Jean Privat <jean@pryen.org>