Test case for #304.
option.tunnel to explicitly disable tunneling

some proxies don't support tunneling via CONNECT, so this provides an
option to ensure tunneling isn't used. Only affects anything if
option.tunnel === false.
Merge pull request #662 from seanmonstar/optional-tunnel

option.tunnel to explicitly disable tunneling
Merge pull request #656 from diversario/i304-timeout-error-event

Test case for #304.
Change `secureOptions' to `secureProtocol' for HTTPS request

to meet the nodejs https module
see: http://nodejs.org/api/https.html#https_https_request_options_callback
add `ciphers' and `secureProtocol' to `options' in `getAgent'

to make them really work
Merge pull request #666 from richarddong/master

make `ciphers` and `secureProtocol` to work in https request
change cookie module

change cookie module cookie-jar to  tough-cookie.because cookie-jar has
some bug
Merge pull request #674 from sxyizhiren/master

change cookie module,to tough-cookie.please check it .
tests: Fixed test-timeout.js events unit test

The callback is called twice and the second time a "ECONNRESET" error is
passed which previously broke the test.
Added Travis CI configuration file
Merge pull request #683 from Turbo87/travis-ci

Travis CI support
lib: Added optional() function

This works in the same way as required() but does not throw errors
if the module was not found.
dependencies: Set `aws-sign` as optional dependency
dependencies: Set `hawk` as optional dependency
dependencies: Set `oauth-sign` as optional dependency
dependencies: Set `http-signature` as optional dependency
dependencies: Set `tunnel-agent` as optional dependency
dependencies: Set `form-data` as optional dependency
dependencies: Set `tough-cookie` as optional dependency