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: 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.  The 
                              req->parser slot may be safely modified.

           req->body != NULL: Some parsing has taken place, so req->parser
                              cannot be modified now without risking
                              loss of data.

                status: (as returned by apreq_env_read and APREQ_RUN_PARSER)
                         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.

