Add client credential authorization support

Created from upstream PR 3.
Fix repos.getArchiveLink() and support self-signed server certs

Created from upstream PR 8
Add user.getKeysFrom()

Created from upstream PR 11
Rename repos.fork() to repos.createFork() and change org param to organization.

Created from upstream PR 14
Change proxy config to pass agent instead of host and port

Created from upstream PR 15
Allow caller to add additional headers to all requests

Created from upstream PR 17
Prevent multiple invocations of the callback.

Created from upstream PR 21
Invoke callback on timeout.

Created from upstream PR 26
Update version to 2.1.0
Merge pull request #3 from Robert-Nelson/merge-upstream-PRs

Merge all upstream PRs except conditional requests