Add option to open pull request in browser.
Merge pull request #502 from tomasv/features/add_pull_request_browser_open

Add option to open newly created pull request in the browser.

Closes #344
Force newline on stdout when Ctrl-C is used during prompts

This is so the next shell prompt isn't displayed on the same line where
the interrupted hub prompt is.

This is irrelevant in zsh, which ensures that the prompt always starts
on its own line.
Handle errors about unique constraints in validation exceptions

Previously, these errors would not be shown to the user, which would
lead to some very uninformative HTTP error messages.
Rescue HTTP exceptions during `ci-status` command

This is so that a user-friendly message is shown instead of a useless
stack trace.
Respect `note_url`, not `app.url` field in Authorizations API

Technically, they're going to be the same values for OAuth tokens
created via the API, but since we write to `note_url` field it makes
sense to use the same field to read the value back, for consistency.
Fix reusing old OAuth tokens stored in Authorizations API

For people who are using hub for a longer time now, hub has stored an OAuth
token in Authorizations API with a `note_url` value that is now outdated
(e.g. "http://defunkt.io/hub/"). The newer `oauth_app_url` doesn't match
that, so the token is not reused. Hub tries to create a new OAuth token
with a `note` that says "hub" which fails with a 422 because it already
exists.

This fixes reusing old OAuth tokens even if the `note_url` doesn't match
anymore. Any key with `note` that says "hub" will get reused.

Fixes #496
Enable API debug output by setting HUB_VERBOSE

This will print information about every HTTP request and response to
stderr. Authentication info is redacted.

Example:

    $ HUB_VERBOSE=1 hub ci-status
    > GET https://api.github.com/...
    > ...
Fix test failure on Ruby 1.8 due to hash order

Hashes are unordered in Ruby 1.8, so we can't check for this in debug
output: `{"name": "dotfiles", "private": false}`. The keys might appear
in different order.

A proper fix would be to normalize keys order before output assertion in
tests, but I can't be bothered to make that. Here I'm simply avoiding to
make any assertions for that line.

https://travis-ci.org/github/hub/jobs/19817554
Merge pull request #503 from github/verbose-api-output

Enable API debug output by setting HUB_VERBOSE
Avoid mispelled `pull-request` flags getting misinterpreted as title

If someone misspells `--help`, for instance:

    git pull-request -help

This aborts the command instead of continuing by interpreting `-help` as
it was the deprecated title argument. Any value that starts with a dash
will abort.

Fixes #460
Allow help pager to clear screen on exit

`less -X` prevents clearing of screen, but we want these commands to
clear themselves up on exit, i.e. to not litter people's output buffers:

    git help hub
    hub <command> --help

Fixes #368
Add notice about Go to CONTRIBUTING doc
hub 1.12.0
Fix `rake homebrew` task in Bundler environment

It shells out to other Ruby scripts, but we don't want them to inherit
the same bundle as the hub project. So we clear RUBYOPT which in a
Bundler environment contains `-rbundler/setup`.
New commands: star, unstar, follow, unfollow.
New command: destroy.

Deletes a GitHub repo, with confirmation prompt.