Merge pull request #196 from avsm/master

Resp and Reader/Writer changes to 0.12.0
Add a cohttp-curl-async executable to fetch URLs (not installed yet)
Add `Strings` representation to `Cohttp.Body` to efficiency hold a
list of body chunks.
Add `is_empty` function to the `Cohttp.S.Body` module type.
Move flushing logic for HTTP bodies into the portable `Request` and
`Response` modules instead of individual Lwt and Async backends
plumb through the ?flush arguments to the Req/Res write function too
Update Async backend for the new Cohttp APIs that add Strings and flushing
update Lwt API for flush and Strings API changes
Address @rgrinberg review comments for 5c2212753f6328fb02bcdf077d08ec1c0c140ce7
more `>>=` to `>>|`
improve error messages from loopback test
bump date on 0.12.0 release to retag
Reduce thread allocation by replacing `return <const>` with `return_none`,
`return_unit` or `return_nil`.
Make async test terminate
Merge pull request #197 from avsm/cohttp-0.12-tweaks

Cohttp 0.12 tweaks
Tweak .merlin

* get rid of useless PRJ flag
* add lwt syntax extension flag
Cosmetic improvements

* reduce parens by using |>
* remove unused vars and unnecessary type annotations (present in the
  mli anyway)
* simplify let f x = match x with ... to let f = function
* remove unused vars
Merge pull request #199 from rgrinberg/master

Cosmetic improvements + .merlin
trailing whitespace cleanup
Remove build dependency check on `lwt.ssl` for `cohttp.lwt`.
This has been moved to conduit, so only `lwt.unix` is needed here now.

fixes ocaml/opam-repository#3019 failure