Log every request

Summary: previously each request handler implemented logging independently.  A number of error paths in the HttpRequestHandler were missing calls to log to the access log, as were some generated by ServerWorker.

Instead, have the ServerWorker log to the access log via a ScopeGuard to it's guaranteed to happen exactly once per request.  Note that any HTTP errors that are caught by the transport and responded to without enqueuing a job will still not be logged.

Reviewed By: @markw65

Differential Revision: D1562721