No httpd header dependencies in src/; those go in env/.
Only APR is used here.

Data structures and relations:

  BASIC VALUE TYPE:

    apreq_value_t:  basic type for handling opaque data.  The type
                    is meant to be extended by placing all "metadata"
                    in front (within a larger structure).

  COOKIES:

    apreq_cookie_t: extends apreq_value_t to represent server-side
                cookie data.

    apreq_jar_t: A pool and a table with cookie-based copy/merge functions.
                 This struct is analogous to apreq_request_t for params.

  PARAMS:

    apreq_param_t: extends apreq_value_t to represent POST param data.


    apreq_request_t: maintains arg/body tables which represent parsed data.

        REQUEST STATES:
           req->body == NULL: No POST data has been read/parsed yet. At this
                              point, req->v.data holds a pointer to the parser
                              table.

           req->body != NULL: req->v.data now points to the active parser.

                status: (as returned by apreq_env_read)
                         APR_INCOMPLETE: Parsing in progress.
                         APR_SUCCESS: Parsing complete.
                         <other>: parser error, parsing aborted.             


  PARSER EXTENSIONS:

    apreq_parser_t: parser callback, with its associated configuration data.

    apreq_hook_t: extends multipart/form-data parser by transforming incoming
                  brigades which represent the contents of a file upload.

