Setting dispatch extensions

This patch allow at top level to change the dispatch of extensions. It is not perfect (we must pass `~connector` on a lot of functions in `Ocsigen_server`) but it's more usefull at [3.0.0-branch](https://github.com/ocsigen/ocsigenserver/tree/3.0.0-cohttp) of OcsigenServer: see this [line](https://github.com/ocsigen/ocsigenserver/blob/3.0.0-cohttp/src/server/ocsigen_common_server.mli#L22). The idea is to do the behavior of these extensions with the OCaml language.

The result is still low-level (there are subroutines as `awake` for to respect the pipeline that we must put in the dispatch) but it is a first step.