Modest clean up of pipe_of_body in async backend

There are no apparent semantic changes. However Pipe.close might
be called more in some cases (doens't make a difference).
Merge pull request #87 from rgrinberg/async_cleanup

Modest clean up of pipe_of_body in async backend