native-fetcher: keepalive handling changes

- make it use keepalive by adding the appropriate request header
- make it pass the system tests.
- 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
- fix 0 bytes response body edge case
- style fixes, renames
- remove unused default value in SetKeepAlive() arg
- remove connections that timeout from the k.a. pool
- add a few checks for sanity
- add a few todo's for more sanity checks & fixes
- improve behaviour when parsing over multiple read() calls with different states
- increase 5000ms timeout with hard-coding to test another timer failure
- emit debug messages for traceability
- fix a few compiler warnings

Note that this does not reformat the indenting within the net_instaweb namespace
of ngx_fetch.cc, as that would make it very hard to assess what has changes from the diff