Port `hub am` tests to cukes
Port `hub apply` tests to cukes
Port `hub init` tests to cukes
Uncomment accidentally disabled step in `browse` cukes
Port `hub push` tests to cukes
Fix `hub browse` help output when not in any repo
Port `hub browse` SSH-related scenarios to cukes
Merge pull request #597 from github/cukes-galore

Port a bunch more tests to cukes
Port remaining `pull-request` tests to cukes
Port `hub cherry-pick` tests to cukes
Merge pull request #598 from github/more-cukes

Port `cherry-pick`, `pull-request` tests to cukes
Tweak URI implementation for compatibility with stdlib

When `url.scheme` is changed from "https" to "http" when someone
configured their Enterprise instance to be used over insecure protocol,
the "speedy" implementation changed the port as well, but the stdlib
implementation doesn't. Things would break if someone used hub in an
environment where stdlib URI was already loaded, like for instance from
RubyGems.
Ensure tests use URI from speedy_stdlib even if Bundler loaded URI

When running through `bundle exec`, Bundler will have loaded URI already
which will make our speedy_stdlib skip redefining it.

Aggressively undefine URI if loaded through Bundler so that our tests
perform against our implementation, not the stdlib one.