Checking for SSL fault on connection

If the server on the endpoint does not support SSL correctly, a response.client object may not be available. Check before reading properties from response.client.
Added allowRedirect function. Should return true if redirect is allowed or false otherwise
Updated followRedirect to support function as a value. Added unit tests
[fixes #1023] Set self._ended to true once response has ended
Merge pull request #1025 from mridgway/gzipFix

[fixes #1023] Set self._ended to true once response has ended
Disabling appveyor until we have the time to get it working.
Adopted levelup's contributing policy with a couple modifications.
Merge pull request #989 from doronin/master

Added allowRedirect function. Should return true if redirect is allowed or false otherwise
Merge pull request #675 from VRMink/patch-1

Checking for SSL fault on connection before reading SSL properties
Fix a couple of typos
Merge pull request #1029 from nylen/fix-typos

Fix a couple of typos
Don't use Google's copyrighted images.
Merge branch 'master' of github.com:mikeal/request
Allow recursive request.defaults
tests for recursive request.defaults
docs for recursive request.defaults
Merge pull request #1030 from tikotzky/add-recursive-defaults

Allow recursive request.defaults
Rearrange requires to prepare for fixing debug code

If we load request.js right at the top of index.js, this creates a
circular dependency (index.js -> request.js -> lib/debug.js and back
again).

If index.js has not exported request and request.debug by the time
request.js is loaded, then lib/debug.js will never see them.  So, we
need to ensure that request.debug is set before requiring lib/debug.js.
Avoid lots of lookups to process.env

See b85bf633 for details - process.env results in a synchronous syscall
to `getenv()` and this was happening at least a few times per request.
Expand debugging tests