Based on @dinic his work, add keep-alive support for the native fetcher. Adds a new option, usable at the http{} level in configuration:
pagespeed NativeFetcherMaxKeepaliveRequests 50;
The default value is 100 (aligned to nginx). Setting the value to 1 turns off keep-alive requests altogether).
Most notable changes: - Request keep-alive by adding the appropriate request header - Fixes connections getting reused while they are servicing other requests: - Remove connection from the pool of available connections for keepalive when applicable - Disable keepalive in more appropriate situations - Response parsing fixes - Remove connections that timeout from the k.a. pool - Add a few sanity (D)CHECKS - Emit debug messages for traceability - Fix for ignoring ipv6 addresses returned from dns queries when ipv6 is enabled. - Bump the fetch timeout in test configuration to deflake tests that require dns lookups (which will be done via 8.8.8.8 currently for the native fetcher)