-  http_dispatch(Request) is det
 - Dispatch a Request using http_handler/3 registrations. It performs
the following steps:
- Find a matching handler based on the 
path member of Request.
If multiple handlers match due to the prefix option or
variables in path segments (see http_handler/3), the longest
specification is used. If multiple specifications of equal
length match the one with the highest priority is used. 
- Check that the handler matches the 
method member of the
Request or throw permission_error(http_method, Method, Location) 
- Expand the request using expansion hooks registered by
http_request_expansion/3. This may add fields to the request,
such the authenticated user, parsed parameters, etc. The
hooks may also throw exceptions, notably using http_redirect/3
or by throwing 
http_reply(Term, ExtraHeader, Context)
exceptions. 
- Extract possible fields from the Request using e.g.
method(Method) as one of the options. 
- Call the registered closure, optionally spawning the
request to a new thread or enforcing a time limit.