rake install: support DESTDIR environment variable

This is required on systems like Exherbo where installation is first
done in a sandbox.

Closes #458
Escape slashes in compare URLs with semicolon

Fixes #466
Remove deprecated calls to `File.exists?`

They emit Ruby warnings on Ruby 2.1.0
Fix detecting git completions for bash & zsh for Boxen in tests

Fixes test failures with Boxen git 1.8.2-boxen1
Take advantage of Bundler 1.5 parallelism

This only affects CI builds in cases when the bundle is not cached.
Test with Ruby 2.1.0
gitignore `vendor/bundle`
Improve extracting title & body in `pull-request`

Avoids the issue where leading empty lines would result in an empty
pull request title.

Fixes #439, closes #465
Fork and set up remote in a non-blocking fashion

Forking through GitHub's API is asynchronous so there is really no way
of knowning when you can access git objects without polling.
Alternatively, we can establish the state of the fork with its remote
tracking branches and tags by fetching from the "origin" remote and then
changing the remote url to the fork.
`fork` should fetch from the same "origin" Github URL.
Merge pull request #469 from ivantsepp/301_fork_fetch_illusion

Fix `hub fork` command in cases when GitHub fork is not yet ready for fetching
Fix hub when a remote has local path instead of URL

Fixes #470
Prefer browsing upstream when on the master branch

When a user would do `hub browse` on the master branch and they had a
fork, the hub would open the browser with their fork instead of the
upstream project. This is surprising and unwanted, so I've added an
exception for this case.

Fixes #474
Go canonical when browsing to subpage other than commits/tree/blob/settings

If the user is currently on the "feature" branch that is pushed to their
fork, when they do `hub browse -- issues` it should open issues of the
main (canonical) repository, not that of the fork.
Merge branch 'browse-upstream'
v1.11.2
Disable CI email completely since configuration is not flexible

We can't let email configuration be the default since it would spam most
people in the GitHub org. However, we set it to a couple of addresses
explicitly, we get emailed with failures from other people's forks who
have set up CI for themselves.
Skip caching dependencies if Amazon secret is unavailable

Fixes CI in forked environment and enables usage of `cached-bundle`
script to just restore caches from S3 but never attempt to write them.
Merge branch 'forked-ci'
Validate that HTTPS is used by default for API requests

Since we use a test server representing the GitHub API, all requests get
transformed to HTTP in tests. Make a check that the original requests
really was intended to go over HTTPS.