add Cohttp.S module

this module collects all the signatures used in the backend independent
part of the library
Cohttp.{request/response} should use Cohttp.S
fix has_body signature

merged incorrectly
change lwt/async backend to use new signatures

use Cohttp.S.{Request,Response} instead
add Body to Cohttp.S and use it lwt/async
use accessor instead of direct field label

not sure why is this necessary...
remove Cohttp.Client + regenerate oasis

The signature inside that module was not being used anywhere hence
there's no need to keep it around. Can be reintroduced once we find
a use for it.
Move Cohttp.IO to Cohttp.S.IO
regenerate oasis
change IO.S to S.IO
make S.IO the first module
Merge branch 'sig_module' of git://github.com/rgrinberg/ocaml-cohttp into rgrinberg-sig_module
sync CHANGES
pin mirage-http to trunk to aid coordinated changes
license for Cohttp.S
version is now 0.12.0
add Body.map
Body.as_pipe makes it easier to work with body's as pipes
opam: depend explicitly on stringext

Closes ocaml/opam-repository#2001
Merge pull request #138 from avsm/master

opam: depend explicitly on stringext