[server]: Don't scan output buffer if NULL
[iocp] various fixes

- Properly handle send_error:
    Set proper code and socket structure for its overlapped field

- Handle SO_UPDATE_CONNECT_CONTEXT failures:
    We sometimes get WSAENOTSOCK on this one

- Add WSAENOTSOCK to error list for w32err_2errno

Change-Id: Ice2f451dad1e862fd6800df669b4af9b8c13a81b
[connect timers]: Check if timer was active

Before cancelling it :)

Change-Id: I2ba119b7e32cddc5255b52ae4d012ea223ea3b13
Don't check output if NULL
Decouple bconf code

This cleans up the bucketconfig code; breakouts and error propagation
are done from the I/O handlers rather than the parsing handlers. This
allows the I/O handlers to more easily cancel the timeouts if necessary.

Change-Id: I1a31d990b7333e1691855eb311bbec48b71b8a21
[http] Don't treat graceful close as an error

Now that we're sending Connection: close, it's perfectly fine (and in
fact, anticipated) that the server should close the connection when it's
ready. In this case, we need to consider it a success iff the parser has
finished too.

- Added LCB_SOCKRW_SHUTDOWN (technically, 0 means one of the two streams
  has been closed, so it's not technically a close in TCP parlance)

Change-Id: I126565c50cf3dbe9bc2ba79445bc8fd80e85962c