use iolist_to_binary in flush/1

This is important in the real world -- it behaves like it'd when
doc was fed to socket.

Also, Plug.Test seems to use the same for flattening.

Helps to discover subtle bugs when integers have been passed as a
content.

Which raises the questions: should values be stringified when
accepted by Core.State? See:
https://github.com/herenowcoder/webassembly/issues/5
typespec: allow only (nested) strings as content
bad example for dialyzer :]