Adds an authentication method for socks version 5. more specifically RFC1929
Addressed most feedback from code review #1:

* Introduced socksAuthCredentials as config variable
* kill socksAuthMethod
* simplified long conditionals
* truncated long lines
Add support for OPTIONS method

I wrote a patch to add OPTIONS as a supported HTTP method in Polipo. This
arose out of the new use for the OPTIONS method for preflighted requests
in HTTP access control (CORS), which is used when a XMLHttpRequest call
across domain boundaries in reasonably current browsers (Chrome 4+,
Firefox 3.5+, IE 10+) utilizes either

* a HTTP method other than GET, HEAD or POST
* a content type other than plain text or form data
* a custom request header.

In my example, this occurs because a script on www.domain.com tries to
query a JSON file on api.domain.com, which fails with a 501 at the moment
when the page is requested via HTTP (obviously, it works over the tunneled
connection when requested via HTTPS).

See also:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Preflighted_requests

As per the spec (RFC 7231, section 4.3.7), responses to the OPTIONS method
are not cacheable, so I added OPTIONS as an equal alternative to POST and
PUT requests (especially since OPTIONS allows for an optional request body
as well, although this is unheard of in the wild).

This patch also could be easily extended to support the DELETE method
used by some RESTful web services.
https://github.com/jech/polipo/issues/26
Update CHANGES.
Merge remote-tracking branch 'HeinrichHartmann/SocksAuth'
Documented socksAuthCredentials.
Update CHANGES.
Merge remote-tracking branch 'upstream/master'