port to new Async interfaces
remove unused variable
Fix reading of POSTs with non-empty bodies

The server creates an Lwt_stream of (request * body option) where
the body is also an Lwt_stream. In order to avoid reading request
number 2 and body number 1 in parallel, the (request * body option)
stream creation function waits until the body stream has terminated.
Unfortunately the body stream never terminates because its values
are never read by the client because the (request * body option)
stream constructor has blocked.

Fix by associating the stream with a read mutex. We unlock the
read mutex after reading the HTTP header *unless* there is a body.
In the body case we drop the read mutex when the body stream has
terminated. In all cases the (request * body option) stream
constructor returns and allows the client to process the request,
and request the body (if there is one).
add test case for #8 to test pipelined and non-pipelined POST

This case was broken before #8 was applied and confirmed to work after, but isn't hooked in for an automated test yet
sync CHANGES for #8
in COHTTP_DEBUG=1 mode, also prepend the pid of the current process
add a client/server test
Add Cohttp_lwt_body.drain_body, to force an unconsumed body to be discarded.  This is a noop if it has already been consumed.
Lwt: always close the output first to ensure that any outstanding buffers are flushed. The other order will discard the buffer, it appears.
In the client, call the close function for the empty body case too
Lwt server: ensure body is drained after the callback is done (#8)
Lwt: always close the output channel first
Lwt: improve the Client callv, but note that this is still a very low-level interface for "advanced" use. Normal callers should use the non-pipelined version until a higher-level interface is available built on top of Client.callv
test: add a callv client test
test the case where the POST body isnt drained for the serverside (#8)
add a forking loopback test of client/server requests
sync CHANGES (#8)
Do not used chunked encoding for Cohttp_lwt.Client.post_form

Closes #7
Switch Cookie.extract over to Header.t rather than Request.request, since request is functorized
We can only support `Session cookie expirations, because we lack date/time support

This allows cookies support to build, without re-introducing a Unix
dependency which was previously removed.