[BUGFIX] Fix issue #942

io_readline_encoded_string() used to wait for max_bytes_per_codepoint
bytes, which is 4 in case of UTF-8.

However, as UTF-8 is variable-length, there's no guarantee that we'll actually
receive that many bytes and we might hang until the stream gets closed.
Fix another incorrect use of max_bytes_per_codepoint and adjust loop termination condition
Add notes about changes io_readline_encoded_string()

Also marks io_read_encoded_string() as FIXME
Merge pull request #943 from gerdr/fix-socket-readline

[BUGFIX] Fix issue #942