Back port cukes from v1.12.3

v2.2.0 doesn’t have the bug https://github.com/github/hub/commit/bc4b450b613ba9a79f71ccb3246d87f8e99a1b00 but back porting the cukes in case there’ll be regression for v2.2.0.
Add cukes from https://github.com/github/hub/pull/738
Merge pull request #742 from github/cuke_from_1_12_3

Back port cukes from v1.12.3
Switch to Travis container-based infrastructure

Conflicts:
	.travis.yml
Restore tmux & zsh inside Travis container

Conflicts:
	.travis.yml
	script/bootstrap
Remove custom Bundler to S3 cache scripts

This is now handled by Travis
Improve auth process

This is to follow implementation in https://github.com/github/hub/pull/738
Start counting auth token note from 1
Merge pull request #744 from github/travis-container-go

Switch to Travis container-based infrastructure
Fix enterprise authentication cuke and move it to authentication.feature
Bump Octokit for error parsing fix

Brings in octokit/go-octokit#73
Avoid showing warning about invalid 2FA code on first prompt
Merge pull request #743 from github/imporve_auth_process

Improve authentication process for v2.2.0

Fixes #728, fixes #622
Do not attach anything to the release command by default.

Detect the asset info to upload via the `--attach` flag.
Rewrite release command in a modular way
Check existence of release before creating it
Don’t fail asset upload process if one of them fails

Print out aggregate error of asset upload instead of failing the whole upload process if one of them fails