HTTP: fail closed on js_access body completion errors
Previously, an exception in an asynchronous readRequest*()
continuation could leave the js_access decision unset, allowing nginx
to continue processing the request as though the access check had
succeeded. An unhandled rejection could also be missed by the body-read
completion path or hidden by a pending internal redirect.
Now body-read completion errors set the access status to 500, and
access finalization checks execution errors before an uncommitted
access decision or internal redirect. Responses already sent by the
handler remain terminal.