Use GitHub's `archive` URL for SHA1

To compensate for
https://github.com/mxcl/homebrew/commit/174acd649c19dbc83f34a6a9e95bdc137b1a2a1b,
we need to use the archive URL, rather than the tarball one so that we
calculate the correct SHA1 when generating the Homebrew formula.
Naming consistency in README file
Allow to merge with --ff-only option
Merge pull request #427 from lzap/no-ff-option

Allow to merge with --ff-only option
Better timeouts in completion tests

- Increase timeouts to 3 seconds
- Implement waiting for completion in a way that it detects when pane
  contents have changed instead of waiting for a fixed amount every time.

Hopefully fixes failures such as:
- https://travis-ci.org/github/hub/jobs/14369618
- https://travis-ci.org/github/hub/jobs/14369403
Merge branch 'completion-timeout'
Use `noecho` method for password prompt if available

It will be available on Ruby >= 1.9
Merge branch 'stuartnelson3-master'

Closes #418
Fix typo in installation instructions

[ci skip]
Ensure git is the latest version on Travis

Works around travis-ci/travis-ci#1710
Cache bundle results on Travis to S3

Hopefully speeds up builds
Add more docs to dependencies-caching scripts

[ci skip]
Fix usage synopsis for `compare`

All parameters are optional.

Fixes #290 [ci skip]
Merge pull request #378 from arturoherrero/readme-consistency

Naming consistency in README file

[ci skip]
Merge pull request #377 from stevenharman/use_archive_in_homebrew_task

Use GitHub's `archive` URL for SHA1

[ci skip]
Nuke HISTORY file

I might keep maintaining it in the "1.10" branch but I don't intend to
keep it up to date forever. It's a pain and I always forget it.

Use GitHub Release notes or git log to get a list of changes between hub
releases.

[ci skip]
Banish the concept of "api_token" from Config

It doesn't seem it was ever used. I probably kept it by mistake after
transitioning to OAuth.
Rewrite API auth to allow Enterprise email login

API authentication and persisting of credentials in Config was
convoluted and inflexible, and it wasn't possible to log in with
different credentials than your GitHub screen name. Since Enterprise
supports different authentication schemes, it's important to allow
emails for login as well (or any string for that matter) and retrieve
the user's screen name after successful authentication.

This also improves handling special characters in Basic Auth usernames
and passwords.

Fixes #407
Fix 2FA for users that receive code via SMS

hub initially tries to fetch user's existing OAuth token for hub if it
exists, and will prompt the user for a 2FA code. However those who
receive it via SMS would never get the code since a GET to GitHub's
Authorizations API purposely doesn't trigger an SMS. There's some
discussion as to whether this is an API bug for not, but in the
meantime, make a dummy POST request for the sole reason of triggering
the SMS.

Fixes #412, closes #435, closes #445
Remove HISTORY file from gemspec

[ci skip]