Default to doing DNS resolution through a proxy server if present.

- Resolve an issue where proxy information by default was not resolving DNS through a proxy server (unlike the `socks` library), so users getting proxy information from an environment variable (`HTTP_PROXY`/`HTTPS_PROXY`) with no external DNS could not connect to hosts with DNS names.  There isn't any way to set `proxy_rdns` from `proxy_info_from_environment` or `proxy_info_from_url`, so this gives a sensible default, making `httplib2` work the same way as most web browsers.

- Resolve a potential issue where if the proxy server was a different address family to the destination host and there was functional DNS, may not work.  For example, using a IPv4-only proxy server to connect to an IPv6-only host via an IPv4-only internal network.  This code (and thus issue) only appears to exist in the Python 2 version of the code.

- Improved documentation of the `ProxyInfo` class.

- Because the default behaviour is now to resolve DNS names through a proxy server, this has the added benefit of preventing DNS leaking issues to an untrusted network when using a proxy over SSH or Tor.