NEW: Add proxy_headers argument to ProxyInfo constructor. (#21)

This argument lets the user add to or override the headers in the
HTTP CONNECT request sent to the proxy.  Some proxy servers need
additional arguments that are not provided by default by httplib2.
Note that although this commit makes this enhancement for both the
python2 and python3 versions of this library, the python3 version
does not implement ProxyInfo at all (and never has).

Signed-off-by: Martin Carroll <martin.carroll@nokia-bell-labs.com>
diff --git a/python2/httplib2test.py b/python2/httplib2test.py
index 0536512..472424b 100755
--- a/python2/httplib2test.py
+++ b/python2/httplib2test.py
@@ -1694,6 +1694,10 @@
         for host in ('localhost', '169.254.38.192', 'www.google.com'):
             self.assertFalse(pi.applies_to(host))
 
+    def test_proxy_headers(self):
+        headers = {'key0': 'val0', 'key1': 'val1'}
+        pi = httplib2.ProxyInfo(httplib2.socks.PROXY_TYPE_HTTP, 'localhost', 1234, proxy_headers = headers)
+        self.assertEquals(pi.proxy_headers, headers)
 
 if __name__ == '__main__':
     unittest.main()