Don't let invalid invalid Content-Length header go beyond ap_read_request() and protocol validation. The check in ap_http_filter() is still useful if some modules mangles the header, but it's too late for the usual case.
core: follow up to r1876664: allow ErrorDocument to read body when applicable
Unless ap_read_request() failed to read the request line or header, or Transfer-Encoding is invalid, we can still provide the request body to custom error handlers (ErrorDocument) that ask it (e.g. internal redirects to CGI).
So this commit splits early failure path (previously die_early label) in two, die_unusable_input and die_before_hooks, where the latter preserves input filters (including HTTP_IN).
Also, the code to apply the connection timeout and r->per_dir_config from the server is now in a new apply_server_config() helper since it's used multiple times. Note that apr_socket_timeout_set() is a noop if the new timeout is the same as the one already in place, so there is no need to cache the old timeout nor use apr_socket_timeout_get(). Likewise, r->server is initially set to c->base_server so apply_server_config() is overall a noop when no change is needed.