Body module for async

- Similar to the lwt one. Main difference is Pipe instead of Lwt_stream.
Also no length (at least for now).

- Replace string Pipe.Reader.t with body where appropriate
mechanical fixes for async tests

because of new body module
fix badly merged conflict from rebase
fix TODO print exceptions better