http.server.requests: system for read-request for reporting errors

The idea is that read-request throws request-error if something is
wrong with the request. handle-client* can then catch it and respond
with 400 bad request. This way you can differentiate between bad
requests and requests that causes the HTTP server to crash.
http.server.requests: if the content-length header is missing or invalid, a (controlled) error is thrown