Merge pull request #174 from avsm/master

Updated: switch to int64 for all lengths
Fix nodrain server handler on Async backend

Making a huge request to Async backend server that never dorain the
request body causes the server handler stuck.

Expecting `Pipe.closed` is wrong in general because a server handler can
close the pipe without draing the request body.

This fix introduces a synchronization variable to make sure reading a
request header after draining the last request body, like Lwt backend
does.
add String_io.open_in utility function
JS backend: use async XHR, extend test code
adds both synchronous and asychronous http clients.

In general the async one is the right client to use.  However, in IOCaml
toplevel expressions must evaluate immediately to show a result,
or produce some side effect.  It's easier just to provide both versions here.
fix typo in (c) note in test_xhr.ml
rename Client_async to Client
Improve documentation on Cohttp_lwt a little

Also add Cohttp_lwt to the doc list (previously it was just the
Cohttp_lwt_unix)
Merge pull request #178 from avsm/improve-docs

Improve documentation on Cohttp_lwt a little
Factor out common code, add parameters

Factor common code with Body_builder and Make_api functors.

Parameterize building the sync or async versions over chunking and
how the final data conversion is actually done (raw bytes or UTF
encoded - I'm as yet 100% sure on the correct interpretation).

Provide modules with best known defaults.
Merge pull request #177 from andrewray/async-xhr

Sync and Async XmlHttpRequest client modules for javascript.
Merge pull request #175 from m2ym/fix-async-nodrain-server

Fix nodrain server handler on Async backend
update .merlin
impl. of transfer encoding was duplicated
Merge pull request #184 from rgrinberg/remove_duplicate_code

impl. of transfer encoding was duplicated
Rename Conduit_resolver to Resolver to match Conduit 0.6+ API