create new body base module/type

also includes some interface tweaks and renamings of some functions
update Lwt to use new body type
add new body module to oasis
regenerated with slightly newer oasis
don't export out length in Body.S

Not used in the async backend so it should not require it. Also not
really a good idea to use in general so being optional is good.
formatting
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
Run through ocp-indent
cut out a Mr Obvious comment
Add copyright and some ocamldoc for Cohttp.Body
Sync CHANGES
Remove more Mirage-specific ocamlbuild files (now unused)