config-win32: Fixed build targets for the VS2012+ Windows XP toolset

Even though commit 23e70e1cc6 mentioned the v110_xp toolset, I had
forgotten to include the relevant pre-processor definitions.
build: in Makefile.m32 pass -F flag to windres.
mk-ca-bundle.vbs: update copyright year.
build: in Makefile.m32 add -m32 flag for 32bit.
multi: when leaving for timeout, close accordingly

Fixes the problem when a transfer in a pipeline times out.
multi: make multi_runsingle loop internally

simplifies the use of this function at little cost.
multi_runsingle: rename result to rc

save 'result' for CURLcode types
multi_runsingle: use 'result' for local CURLcode storage

... and assign data->result only at the end. Makes the code more compact
(easier to read) and more similar to other code.
multi: Prefer we don't use CURLE_OK and NULL in comparisons
multi: move the ending condition into the loop as well

... as it was before I changed the loop in commit e04ccbd50. It caused
test 2030 and 2032 to fail.
debug: added new connection cache output, plus fixups

Debug output 'typo' fix.

Don't print an extra "0x" in
  * Pipe broke: handle 0x0x2546d88, url = /

Add debug output.
Print the number of connections in the connection cache when
  adding one, and not only when one is removed.

Fix typos in comments.
TODO-RELEASE: removed
CMake: Simplify if() conditions on check result variables

Remove use of an old hack that takes advantage of the auto-dereference
behavior of the if() command to detect if a variable is defined.  The
hack has the form:

 if("${VAR} MATCHES "^${VAR}$")

where "${VAR}" is a macro argument reference.  Use if(DEFINED) instead.
This also avoids warnings for CMake Policy CMP0054 in CMake 3.1.
build: in Makefile.m32 try to detect 64bit target.
build: in Makefile.m32 simplify platform flags.
build: in Makefile.m32 moved target autodetection.

Moved target autodetection block after defining CC macro.
multi: inform about closed sockets before they are closed

When the connection code decides to close a socket it informs the multi
system via the Curl_multi_closed function. The multi system may, in
turn, invoke the CURLMOPT_SOCKETFUNCTION function with
CURL_POLL_REMOVE. This happens after the socket has already been
closed. Reorder the code so that CURL_POLL_REMOVE is called before the
socket is closed.
multi-uv.c: close the file handle after download
examples: Wait recommended 100ms when no file descriptors are ready

Prior to this change when no file descriptors were ready on platforms
other than Windows the multi examples would sleep whatever was in
timeout, which may or may not have been less than the minimum
recommended value [1] of 100ms.

[1]: http://curl.haxx.se/libcurl/c/curl_multi_fdset.html
RELEASE-NOTES: synced with cb13fad733e