catch-all `parse(IO)`

Maybe this could replace `parse(io::AsyncStream)` altogether, will need to test that later.

In the meantime someone was having trouble parsing multiple objects from a file. I'm going to merge this right after I find some food...