Add xen-api-client.lwt and a simple list_vms example
Add some more OASIS-autogen files
Improve .gitignore
Fix (!) HTTP client parsing
Add a simple 'time_this' function for profiling
Switch to "CompiledObject: best"
Update copyrights in lib/
Update OASIS file
Update README
Begin the functorization

Next step: start using the actual Cohttp client
Temporarily add fork of the cohttp lwt unix client

I'd like to make this capable of handling persistent connections
and transparent reconnection. When this works I'll upstream it
separately.
Switch over to using Cohttp for HTTP client stuff
Switch to using a 'type ('a, 'b) result' in the 'more core' (ie central) part of the client

The plan is:
* to make the HTTP client robust and lwt-agnostic
* to upstream HTTP client improvements to cohttp
* to make the xen-api client async-compatibile
Replace while-loop with invariant with a more straightforward recursive function
Move timeout/retry logic into the functor, for less lwt-dependence (and hopefully to make it easier to test)
Check the HTTP response is `OK
The interface now specifies a retry period, rather than a maximum number of requests to be sent
The retry policy should be applied over the whole operation, not on individual sub-operations
Simplify disconnect/connect logic

We disconnect if an error is received, otherwise we keep connections open.
Classify valid but unrecognised HTTP responses as fatal errors, empty responses as possible transients