[lwt] simplify the Request/Response constructions

Instead of duplicating the Request+IO, add functors for those to
Cohttp_lwt, and use them throughout the Mirage/UNIX backends.
[lwt] tighten the module interfaces by simplifying the Server functors
[lwt] include Request/Response modules inside the Client/Servers
[lwt] cleanup to use Cohttp_lwt better in UNIX
Update OASIS metadata

* Depend on `Uri` 1.3.8+ as it exposes the parameter query functions now removed from `Request`.
* Do not depend on Cstruct in core library, as only Mirage needs it.
remove the Uri parameter query functions from Request.

These are duplicated from the `Uri.get_query_param` function, so
just delete these in preference to the upstream library.

This requires Uri 1.3.8+