curl: Support CURLOPT_LOCALADDR to bind to local address.

This allows a user to bind to both an interface (with CURLOPT_INTERFACE)
and a local IP address.  In doing so, it allows the user to work-around
some serious performance issues on machines with lots of virtual interfaces
because curl no longer has to scan all interfaces each time it makes
a connection.

Signed-off-by: Ben Greear <greearb@candelatech.com>
dns:  Support binding DNS to local interface/IP

  Add options to pass proper config off to c-ares
  for local interface and/or IP binding.

  Add option to configure DNS servers that c-ares
  will use.

Signed-off-by: Ben Greear <greearb@candelatech.com>
curl:  Add support for various DNS binding options.

(Passed on to c-ares.)

Allows something like this:

./local/bin/curl --dns_interface sta8 --dns_ipv4_addr 8.8.1.111 --interface sta8 --localaddr 8.8.1.111 --dns_servers 8.8.8.1 www.google.com

Signed-off-by: Ben Greear <greearb@candelatech.com>
curl:  Fix warnings on mingw.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Fix build on Windows.